【发布时间】:2018-12-03 08:45:56
【问题描述】:
我正在尝试从 .NET CORE 2.1 后端的本地 SignalR 服务更改为 Azure SignalR。
全部:Angular (@aspnet/signalr)、SignalR 和 Azure SignalR v1.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");
});
我在谈判中修改的是:
选项后的 204
POST 后 404
网址正确,以 HTTPS 开头,以 'ws/somehub/negotiate' 结尾
【问题讨论】:
标签: angular azure asp.net-core-2.0 asp.net-core-signalr