如何在ASP MVC中使用Global.asax而非Startup.cs配置SignalR?

时间:2019-06-19 04:49:46

标签: c# asp.net-mvc signalr

SignalR需要Owin启动类,但是我的应用程序可以使用Global.asax类。

public class Startup
{
   public void Configuration(IAppBuilder app)
   {
      app.MapSignalR();
   }
}

如果添加启动类,我的asp MVC项目将有两个启动类(全局和启动),可以吗?还是只应应用其中之一并将我的全局课程移至启动课程?

1 个答案:

答案 0 :(得分:1)

您可以标记Owin在启动时将自动使用程序集中的哪个类。

在我的示例中,我在Startup中声明了它,并使用OwinStartup指向了它 例如

using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using System.Net;
[assembly: OwinStartup(typeof(YourProject.Startup))]


namespace YourProject
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            var hubConfiguration = new HubConfiguration
            {
                EnableDetailedErrors = true
            };
            app.MapSignalR(hubConfiguration);
        }
    }
}

如果您使用的是Owin,则必须使用Startup类而不是Global.asax