Отдавайте предпочтение Kestrel за оперативность, а не за внутреннюю логику.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Отдавайте предпочтение Kestrel за оперативность, а не за внутреннюю логику.

Сообщение Anonymous »

Когда приложение .NET Core использует сервер Kestrel для обслуживания базового веб-приложения и в том же исполняемом файле находится логика (в разных потоках), которая может истощать ЦП в фоновом режиме (что само по себе не является ошибкой), существует ли способ назначить более высокий приоритет чему-либо, связанному с Kestrel?
Один из способов, который я мог придумать, заключался в использовании отдельного исполняемого файла для логики и размещения двух процессов с разными приоритетами, но, возможно, есть это способ иметь в одном файле?
Проблема в том, что когда процессор достигает 100% загрузки, серверу требуется гораздо больше времени для ответа на запрос.
Для полноты картины:

Код: Выделить всё

namespace WebApplication1
{
public class Program
{
public static Action runAction => new Action(() =>
{
for (int i = 0; i < int.MaxValue; i++)
{
for (int x = 0; x < int.MaxValue; x++)
{
}
}
});
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => { Task.Run(runAction); return "Hello World!"; });

app.Run();
}
}
}
Будьте осторожны:
Чем чаще вы заходите на страницу, тем больше будет использоваться процессор...

Подробнее здесь: https://stackoverflow.com/questions/792 ... kend-logic
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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