Попробуйте добавить .WithOrigins("[THE_DOMAIN_TO_UNBLOCK]");
к вашей политике:
services.AddCors(o => o.AddPolicy("Policy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()
.WithOrigins("[THE_DOMAIN_TO_UNBLOCK]");
}));
Также убедитесь, что на сервере установлена последняя версия Microsoft.Asure.SignalR
вместе с последней @aspnet/signalr
установлено на клиенте.
ПРИМЕЧАНИЕ Пакет signalr
npm не совместим с Azure SignalR.Я научился этому нелегко.
Следующее сработало для моей установки, а именно Angular7, .NET CORE 2.1 и Azure SignalR.Моя установка выглядит следующим образом:
ConfigureServices
// Add CORS
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowCredentials()
.AllowAnyMethod()
.WithOrigins("http://localhost:4200");
});
});
// Add Azure SignalR
services.AddSignalR().AddAzureSignalR();
Настройка
app.UseCors("AllowAllOrigins");
app.UseAzureSignalR(routes =>
{
routes.MapHub<NextMatchHub>("/nextmatch");
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "api/{controller=Home}/{action=Index}/{id?}");
});
ПРИМЕЧАНИЕ Убедитесь, что различные реализации добавлены в том же порядке, что и мой пример, показанный выше.Я не могу объяснить, почему он так чувствителен к порядку, но с моей стороны это тоже было проблемой.