[英]Pushing messages from an SSIS (2012) package to a SignalR hub in an ASP.NET web app — what is the best approach?
[英]SignalR 2 hub is not deployed with ASP MVC 5 web app
我有一个ASP.NET MVC应用程序,该应用程序引用了另一个项目,即SignalR应用程序。 网络偶尔会调用SignalR应用程序。 不久前,我已经在Microsoft Azure服务器上部署了Web。 部署还包括SignalR集线器,可通过mysite.azurewebsites.net/signalr/hubs获得该集线器。
现在,我在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 Identity程序包添加到我的网站。 该软件包还使用OWIN库(类似于SignalR)。 这可能是问题吗? 我希望不会,因为那样的话我将不得不重新做整个数据库。
编辑
我尝试将Startup类移到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
解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.