繁体   English   中英

Asp.Net Core中的SignalR配置

[英]SignalR configuration in Asp.Net Core

我在查找如何使用SignalR在Asp.Net Core中将值配置为ConnectionTimeoutDisconnectionTimeout时遇到问题。 在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 Core 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; }
    }

但是仍然没有设置DisconnectionTimeout的选项,在api.UseSignalR()期间也可以传递此选项对象:

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; }
    }

但是,即使在LongPollingOptions对象中,仍然没有所需的选项。 我想念什么吗?

Startup.cs寻找ConfigureServices方法,您需要在其中添加services.AddSignalR() Startup.cs services.AddSignalR()Configure方法中配置路由。

您可以在下面的msdn链接https://docs.microsoft.com/zh-cn/aspnet/core/signalr/get-started?view=aspnetcore-2.1&tabs=visual-studio中找到更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM