Когда я запускаю серверную часть на локальном хосте (по 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;
}
}
};
Код: Выделить всё
builder.Services.AddDbContext(options =>
{
options.UseSqlServer(connectionString);
});
...
builder.Services.AddScoped();
...
app.UseMiddleware();
Я также пробовал разные порты
Подробнее здесь: https://stackoverflow.com/questions/787 ... some-cases