Я пытаюсь перейти с локальной службы SignalR на серверной части .NET CORE 2.1 на Azure SignalR.
Все: пакеты Angular (@ aspnet / signalr), SignalR и Azure SignalR в версии 1.0.4.
При локальной конфигурации все прекрасно работает.
services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
});
services.AddMvc(options =>
{
//options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
options.Filters.Add(new RequireHttpsAttribute());
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddJsonOptions(options =>
{
//options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
services.AddSignalR(hubOptions =>
{
hubOptions.EnableDetailedErrors = true;
});
и
app.UseCors("AllowAll");
app.UseSignalR(routes =>
{
routes.MapHub<SomeHub>("/ws/somehub");
});
после изменений:
services.AddSignalR().AddAzureSignalR(Configuration["AzureSignalRConnectionString"]);
app.UseAzureSignalR(routes =>
{
routes.MapHub<SomeHub>("/ws/somehub");
});
Что я получаю во время переговоровis:
204 после OPTIONS
404 после POST
URL-адрес правильный, начинается с HTTPS и заканчивается 'ws / somehub /gotiate'