Я использую Azure SignalR с проектом Asp.Net MVC API (с каркасом .net, а не с ядром .net).Я никогда не могу подключиться к службе Azure SignalR (пробовал любую возможную конфигурацию), пока все работает нормально, когда сигнализатор находится в автономном режиме.
Поскольку я включаю исключения CLR (на панели «Настройки исключений», проверяя все в Общих исключениях времени выполнения языка)Я продолжаю получать две следующие ошибки:
1.System.Net.WebException: 'Удаленный сервер возвратил ошибку: (429) Too Many Requests.'
2.System.Net.WebSockets.WebSocketException: «Невозможно подключиться к удаленному серверу».Внутреннее исключение WebException: удаленный сервер возвратил ошибку: (429) Too Many Requests.
Я использую уровень SignalR Free, но также пытался использовать уровень Standard и в результате получил те же результаты.
Я постоянно проверяю график «Соединение (макс.)» На вкладке «Обзор» на портале Azure и постоянно наблюдаю «Сервер 20, клиент 0».
При первом обнаружении ошибки я предположил, что ядействительно пытался подключиться слишком много раз, достиг максимального соединения / попытки и прекратил попытки.Через некоторое время (примерно 24 часа) я попробовал только три раза и все еще получал то же исключение (429 - слишком много запросов).
Это моя конфигурация (в Startup.cs
):
app.MapAzureSignalR(
"/signalr",
GetType().FullName,
new HubConfiguration
{
// tried all combinations of boolean values below.
EnableDetailedErrors = true,
EnableJSONP = true,
EnableJavaScriptProxies = true
}, options =>
{
options.ConnectionCount = 5; // tried increasing and decreasing that number.
options.ConnectionString = "<my connection string from azure portal signalr service>";
options.AccessTokenLifetime = TimeSpan.FromDays(1); // tried even removing.
}
);
Этот код выполняется на моем локальном компьютере, а не на AppService Azure.Однако он не будет работать и на AppService.Поскольку на локальном компьютере отлаживать проще, я пытался на локальном компьютере.
Я искал в Интернете, но не нашел ничего, связанного с моей проблемой.
Как мне решитьпроблема?
РЕДАКТИРОВАТЬ: У меня установлены следующие пакеты.
<package id="Microsoft.AspNet.SignalR" version="2.4.1" targetFramework="net472" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.4.1" targetFramework="net472" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.4.1" targetFramework="net472" />