У меня есть два проекта, приложение для консоли и API. < /p>
Приложение консоли отправляет запрос на проект API. Я отправляю 100 000 запросов одновременно из приложения консоли в проект API. />System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine..
System.Net.Sockets.SocketException (10053): An established connection was aborted by the software in your host machine
But when I run the API project in IIS, Приложение отправляет все запросы без какого-либо исключения. < /p>
Это мой код приложения консоли: < /p>
var services = new ServiceCollection();
services.AddHttpClient("Test", options =>
{
options.BaseAddress = new Uri("http://127.0.0.1:34399");
options.Timeout = TimeSpan.FromMinutes(5);
})
.RemoveAllLoggers();
var builder = services.BuildServiceProvider();
var httpClientFactory = builder.GetRequiredService();
List tasks = new List();
for (int i = 0; i < 100_000; i++)
{
tasks.Add(CallApi(httpClientFactory));
}
await Task.WhenAll(tasks);
static async Task CallApi(IHttpClientFactory httpClientFactory)
{
try
{
var client = httpClientFactory.CreateClient("Test");
await client.GetAsync("/WeatherForecast");
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw;
}
}
< /code>
И это проект API: < /p>
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
[HttpGet(Name = "GetWeatherForecast")]
public async Task Get()
{
await Task.Delay(10);
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
< /code>
Что не делает II, что не делает этого Kestrel? Почему Kestrel отказывается от связи, но IIS нет?
Подробнее здесь: https://stackoverflow.com/questions/796 ... rel-doesnt
Что это делает, что нет, что нет? ⇐ C#
Место общения программистов C#
1750664581
Anonymous
У меня есть два проекта, приложение для консоли и API. < /p>
Приложение консоли отправляет запрос на проект API. Я отправляю 100 000 запросов одновременно из приложения консоли в проект API. />System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine..
System.Net.Sockets.SocketException (10053): An established connection was aborted by the software in your host machine
But when I run the API project in IIS, Приложение отправляет все запросы без какого-либо исключения. < /p>
Это мой код приложения консоли: < /p>
var services = new ServiceCollection();
services.AddHttpClient("Test", options =>
{
options.BaseAddress = new Uri("http://127.0.0.1:34399");
options.Timeout = TimeSpan.FromMinutes(5);
})
.RemoveAllLoggers();
var builder = services.BuildServiceProvider();
var httpClientFactory = builder.GetRequiredService();
List tasks = new List();
for (int i = 0; i < 100_000; i++)
{
tasks.Add(CallApi(httpClientFactory));
}
await Task.WhenAll(tasks);
static async Task CallApi(IHttpClientFactory httpClientFactory)
{
try
{
var client = httpClientFactory.CreateClient("Test");
await client.GetAsync("/WeatherForecast");
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw;
}
}
< /code>
И это проект API: < /p>
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
[HttpGet(Name = "GetWeatherForecast")]
public async Task Get()
{
await Task.Delay(10);
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
< /code>
Что не делает II, что не делает этого Kestrel? Почему Kestrel отказывается от связи, но IIS нет?
Подробнее здесь: [url]https://stackoverflow.com/questions/79675427/what-does-iis-do-that-that-kestrel-doesnt[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия