SignalR 2 中心未与 ASP MVC 5 Web 应用一起部署



我有一个 ASP.NET MVC应用程序,它引用了另一个项目,即SignalR应用程序。Web 偶尔会调用 SignalR 应用。不久前,我在Microsoft Azure服务器上部署了Web。部署还包括可通过 mysite.azurewebsites.net/signalr/hubs 获得的 SignalR 中心。

现在,我已经在 Web 应用程序中进行了一些更新,并希望再次重新上传整个解决方案。但是,我无法同时部署两个项目。我可以部署 SignalR 中心或 Web 应用程序,但 mysite.azurewebsites.net/signalr/hubs 找不到任何中心。

起初,我认为这是由ASP MVC应用程序中的路由更改引起的。我变了

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        )

 routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}",
            defaults: new { controller = "Home", action = "Index" }
        );

但即使在还原更改后,我也无法同时部署两个应用程序。我不明白,问题可能在哪里。

我所做的一个重大更改是将 ASP.NET 标识包添加到我的网站。该包还使用 OWIN 库(类似于 SignalR)。这可能是问题所在吗?我希望不会,因为那样我将不得不再次重做整个数据库......

编辑

我尝试将启动类移动到 ASP 中。MVC 应用:

[assembly: OwinStartup(typeof(MyMvcApp.Startup))]
namespace MyMvcApp
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // Any connection or hub wire up and configuration should go here
            app.MapSignalR();
        }
    }
}

但它似乎没有找到当前程序集之外的任何集线器。

问题是我已经覆盖了 Web.config 中的启动:

<add key="owin:AppStartup" value="MyMvcApp.IdentityConfig" />

删除此行并将代码从IdentityConfig.cs移动到Startup.cs解决了问题。

最新更新