将 Global.asax 添加到控制台应用程序

Add Global.asax to Console Application

所以我知道这听起来很奇怪,但我希望将 Global.asax 文件添加到我的控制台应用程序中。原因是它是使用 OWIN 自托管的,并且在自托管生命周期中,Global.asax 在 Startup.cs 文件之前被调用。最终目标是向应用于 SignalR 的此文件添加配置设置,这些配置的唯一入口点似乎在 Global.asax(我试过 Startup.cs)。

但是,一旦我将 Global.asax 文件添加到我的应用程序中,就再也不会调用它了。我能做些什么来强制在 Startup.cs 文件之前调用 Global.asax 文件吗?

编辑Here 是我所指的特定配置设置。即,DisconnectTimeout

您应该能够在 Startup

中配置您的 SignalR 服务器

如果我这样设置 DisconnectTimeout

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
        GlobalHost.Configuration.DisconnectTimeout = new TimeSpan(0, 0, 20);
    }
}

我可以看到协商响应中的 DisconnectTimeout 是 20

{
    "Url":"/signalr","ConnectionToken":"hYV7...5",
    "KeepAliveTimeout":13.3333332,
    "DisconnectTimeout":20.0,
    "TryWebSockets":true,
    "ProtocolVersion":"1.4",
    "TransportConnectTimeout":5.0,
    "LongPollDelay":0.0
}