#iis #blazor #blazor-server-side #iis-10 #.net-5
#iis #blazor #blazor-на стороне сервера #iis-10 #.net-5
Вопрос:
Я создал небольшое серверное приложение Blazor на .NET 5.0 и развернул его в IIS (версия 10.0), оно отлично работало во время тестирования, но после его публикации сайт иногда вообще не загружался. Через некоторое время я понял, что он работает до тех пор, пока не будет достигнуто определенное количество запросов, а затем он перестает загружаться.
Например, я открываю 30 вкладок сайта, и с вкладки 25 он больше не загружается, но в остальном все работает нормально. Когда я закрываю некоторые из тех, которые работают, вкладки, которые не загружались до загрузки должным образом.
Затем я попытался протестировать это с помощью проекта серверного приложения Blazor по умолчанию — тот же результат. Так что, я думаю, это как-то связано с IIS. Я попробовал это на 2 разных IIS (локальный IIS и один на другом сервере), одинаковый результат для обоих.
Я не смог найти никаких предложений по устранению неполадок, поэтому я был бы очень рад, если бы у кого-то еще была эта проблема, и он мог бы мне помочь.
С наилучшими пожеланиями
Комментарии:
1. Может быть ограничение, описанное здесь: docs.microsoft.com/en-us/aspnet/signalr/overview /…
2. Какую операционную систему и версию вы используете? Вы видите ту же проблему при открытии вкладок в режиме отладки Visual Studio?
Ответ №1:
Возможно, вы можете попробовать использовать CancellationToken, когда вы переходите на другую вкладку, вы можете вызвать метод отмены, чтобы остановить текущие операции.
private CanecellationToken cts= new CancellationTokenSource();
public List<Model> MyList{ get; set; }
protected override async task OnInitializedAsync()
{
var obj= await Http.GetFromJsonAsync<MyList>("/api/Model", cts.Token).ToList();
}
public void Dispose()
{
cts.Cancel();
cts.Dispose();
}
Проверьте источник meziantou
здесь