C# Asp.Net内核中的信号器配置
我遇到了一个问题,无法找到如何在Asp.Net内核中使用SignalR将值配置为C# Asp.Net内核中的信号器配置,c#,asp.net-core,signalr,C#,Asp.net Core,Signalr,我遇到了一个问题,无法找到如何在Asp.Net内核中使用SignalR将值配置为ConnectionTimeout,DisconnectionTimeout。在MVC中,您使用的是Global.asax文件,配置如下: using System; using Microsoft.AspNet.SignalR; namespace Wozkowi { public class Global : System.Web.HttpApplication { void A
ConnectionTimeout
,DisconnectionTimeout
。在MVC中,您使用的是Global.asax文件,配置如下:
using System;
using Microsoft.AspNet.SignalR;
namespace Wozkowi
{
public class Global : System.Web.HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
// Make connections wait 50s maximum for any response. After
// 50s are up, trigger a timeout command and make the client reconnect.
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(20);
GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(5);
}
}
}
但在Asp.Net内核中,Global.asax已经不存在了,据我所知,配置应该放在Startup.cs
中。但主要问题是Microsoft.AspNetCore.SingalR中的GlobalHost,它是未定义的。那么我应该如何添加配置呢
编辑:
我正在使用Microsoft.AspNetCore.SignalR v.1.0.0-rc1-final。因此,在services.AddSignalR()期间,我可以传递对象:
public class HubOptions
{
public HubOptions();
public TimeSpan? HandshakeTimeout { get; set; }
public TimeSpan? KeepAliveInterval { get; set; }
public IList<string> SupportedProtocols { get; set; }
public bool? EnableDetailedErrors { get; set; }
}
但是,即使在LongPollingOptions对象中,仍然没有所需的选项。我在Startup.cs
中缺少了什么?查找ConfigureServices
方法,您需要在那里添加
services.AddSignalR()
在Configure
方法中配置路由
您可以在下面的msdn链接中找到更多信息
在您的Startup.cs
文件中,当您调用AddSignalR(options=>…)
时,您可以配置所需的设置。是的,您是对的,但是您知道我可以在哪里设置DisconnectionTimeout吗?因为在这里我没有这种可能性。它的可能重复回答了我的问题,但不是全部。仍然缺少请求的配置选项。
public class HttpConnectionOptions
{
public HttpConnectionOptions();
public IList<IAuthorizeData> AuthorizationData { get; }
public TransportType Transports { get; set; }
public WebSocketOptions WebSockets { get; }
public LongPollingOptions LongPolling { get; }
public long TransportMaxBufferSize { get; set; }
public long ApplicationMaxBufferSize { get; set; }
}