Подключение SignalR в некоторых случаях занимает очень много времени.C#

Место общения программистов C#
Anonymous
Подключение SignalR в некоторых случаях занимает очень много времени.

Сообщение Anonymous »

У меня есть серверная часть asp net core и внешний интерфейс wpf.
Когда я запускаю серверную часть на локальном хосте (по https), все работает нормально, и соединение SignalR устанавливается очень быстро. Но когда я меняю IP-адрес серверной части на свой локальный IP-адрес (я меняю его в файле launchSettings.json), установление этого соединения занимает очень много времени (странно то, что это всегда занимает 120 секунд с разницей всего в несколько миллисекунд). Кроме того, обычные вызовы API к моему бэкэнду по-прежнему очень быстры и работают должным образом.
Что еще странно, так это то, что когда я не использую свое промежуточное программное обеспечение (я закомментировал его), тогда все работает как обычно, и соединение снова быстрое, но мне не нужно этого делать при работе на локальном хосте! (промежуточное ПО осуществляет некоторый доступ к БД и использует dbcontext, но я добавил его в область действия, чтобы это не было проблемой?)
Я также только что обнаружил, что оно прекрасно работает по моему локальному IP-адресу и http но не использую https
в моем клиенте, я игнорирую SSL-сертификат следующим образом:

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

var handler = new HttpClientHandler
{
UseDefaultCredentials = true,
ServerCertificateCustomValidationCallback =  (sender, cert, chain, sslPolicyErrors) =>
{
try
{
return true;
}
catch (Exception ex)
{
Console.WriteLine(ex);
return false;
}
}
};
Здесь я добавляю MiddleWare:

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

    builder.Services.AddDbContext(options =>
{
options.UseSqlServer(connectionString);
});
...
builder.Services.AddScoped();
...
app.UseMiddleware();
Возможно, также важно знать, что я использую свой DBcontext как в своем LoggerMiddleware, так и в своем хабе для SignalR, но я добавил его с ограниченной областью действия, поэтому это не должно быть проблемой (и я не получите из-за этого ошибку)
Я также пробовал разные порты

Подробнее здесь: https://stackoverflow.com/questions/787 ... some-cases

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