Что это делает, что нет, что нет?C#

Место общения программистов C#
Ответить
Anonymous
 Что это делает, что нет, что нет?

Сообщение 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 нет?


Подробнее здесь: https://stackoverflow.com/questions/796 ... rel-doesnt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»