【问题标题】:SignalR 2 Websockets with ASP.NET Core on .NET FrameworkSignalR 2 Websockets 与 .NET Framework 上的 ASP.NET Core
【发布时间】:2018-02-14 15:54:22
【问题描述】:

我有一个 ASP.NET Core 应用程序,在 .NET Framework 4.6.2 上运行。我设法通过使用 owin-middleware 运行 SignalR 2。 问题是它使用服务器事件,而不是 websockets。为了使用 websockets,是否可以进行任何设置?

Startup.cs 我同时打电话给 app.UseWebSockets(); app.UseSignalR2() // 自定义扩展方法将 signalR 映射到 appbuilder

如果只指定 webSockets 传输,它不会有任何错误,但它不会连接。

我在 ASP.NET MVC 项目中使用了类似的设置,它按预期工作,只有在 .NET Framework 上使用 ASP.NET Core 时才会重现。

我发现了一些类似的帖子,但我无法使用 websockets 运行它: Using SignalR on an asp.net Core app that targets the full .NET Framework

【问题讨论】:

    标签: asp.net-core signalr signalr-2


    【解决方案1】:

    这似乎缺少 UseWebSockets 方法:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
    {
            app.UseWebSockets();
    }
    

    【讨论】:

    • 您使用 IIS 作为反向代理吗?如果是,您还需要在其上激活 websockets。还要检查 http/https 不匹配。
    • 我正在使用 IIS,但由于它适用于 ASP.NET MVC 应用程序,我认为 IIS 不是问题。
    • 您是否为 IIS 启用了 WebSocket 协议?它位于 Windows 功能 -> IIS -> WWW 服务 -> 应用程序开发功能下。
    • 是的,我启用了这个。仍然没有变化。
    猜你喜欢
    • 2019-07-22
    • 2012-03-20
    • 2016-10-07
    • 1970-01-01
    • 2019-08-25
    • 2017-10-12
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多