Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.Net内核中的信号器配置_C#_Asp.net Core_Signalr - Fatal编程技术网

C# Asp.Net内核中的信号器配置

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

我遇到了一个问题,无法找到如何在Asp.Net内核中使用SignalR将值配置为
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; }
    }