当前位置: 首页>>代码示例>>C#>>正文


C# HostContext.WebSocketServerUrl方法代码示例

本文整理汇总了C#中HostContext.WebSocketServerUrl方法的典型用法代码示例。如果您正苦于以下问题:C# HostContext.WebSocketServerUrl方法的具体用法?C# HostContext.WebSocketServerUrl怎么用?C# HostContext.WebSocketServerUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HostContext的用法示例。


在下文中一共展示了HostContext.WebSocketServerUrl方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExtensionMethodsMapToDictionaryEntries

        public void ExtensionMethodsMapToDictionaryEntries()
        {
            // Arrange
            var request = new Mock<IRequest>();
            var response = new Mock<IResponse>();
            var context = new HostContext(request.Object, response.Object);

            // Act
            context.Items[HostConstants.DebugMode] = true;
            context.Items[HostConstants.InstanceName] = "Instance name";
            context.Items[HostConstants.ShutdownToken] = CancellationToken.None;
            context.Items[HostConstants.SupportsWebSockets] = false;
            context.Items[HostConstants.WebSocketServerUrl] = "ws://123";

            // Assert
            Assert.True(context.IsDebuggingEnabled());
            Assert.Equal("Instance name", context.InstanceName());
            Assert.Equal(CancellationToken.None, context.HostShutdownToken());
            Assert.False(context.SupportsWebSockets());
            Assert.Equal("ws://123", context.WebSocketServerUrl());
        }
开发者ID:nonintanon,项目名称:SignalR,代码行数:21,代码来源:HostContextExtensionsFacts.cs

示例2: ProcessNegotiationRequest

        private Task ProcessNegotiationRequest(HostContext context)
        {
            // Total amount of time without a keep alive before the client should attempt to reconnect in seconds.
            var keepAliveTimeout = _configurationManager.KeepAliveTimeout();
            string connectionId = Guid.NewGuid().ToString("d");
            string connectionToken = connectionId + ':' + GetUserIdentity(context);

            var payload = new
            {
                Url = context.Request.Url.LocalPath.Replace("/negotiate", ""),
                ConnectionToken = ProtectedData.Protect(connectionToken, Purposes.ConnectionToken),
                ConnectionId = connectionId,
                KeepAliveTimeout = keepAliveTimeout != null ? keepAliveTimeout.Value.TotalSeconds : (double?)null,
                DisconnectTimeout = _configurationManager.DisconnectTimeout.TotalSeconds,
                TryWebSockets = _transportManager.SupportsTransport(WebSocketsTransportName) && context.SupportsWebSockets(),
                WebSocketServerUrl = context.WebSocketServerUrl(),
                ProtocolVersion = "1.2"
            };

            if (!String.IsNullOrEmpty(context.Request.QueryString["callback"]))
            {
                return ProcessJsonpRequest(context, payload);
            }

            context.Response.ContentType = JsonUtility.JsonMimeType;
            return context.Response.End(JsonSerializer.Stringify(payload));
        }
开发者ID:stirno,项目名称:SignalR,代码行数:27,代码来源:PersistentConnection.cs

示例3: ProcessNegotiationRequest

        private Task ProcessNegotiationRequest(HostContext context)
        {
            var payload = new
            {
                Url = context.Request.Url.LocalPath.Replace("/negotiate", ""),
                ConnectionId = _connectionIdGenerator.GenerateConnectionId(context.Request, context.User),
                TryWebSockets = _transportManager.SupportsTransport(WebSocketsTransportName) && context.SupportsWebSockets(),
                WebSocketServerUrl = context.WebSocketServerUrl(),
                ProtocolVersion = "1.0"
            };

            if (!String.IsNullOrEmpty(context.Request.QueryString["callback"]))
            {
                return ProcessJsonpNegotiationRequest(context, payload);
            }

            context.Response.ContentType = Json.MimeType;
            return context.Response.EndAsync(_jsonSerializer.Stringify(payload));
        }
开发者ID:jimmcslim,项目名称:SignalR,代码行数:19,代码来源:PersistentConnection.cs

示例4: ProcessNegotiationRequest

 private Task ProcessNegotiationRequest(HostContext context)
 {
     context.Response.ContentType = Json.MimeType;
     return context.Response.EndAsync(_jsonSerializer.Stringify(new
     {
         Url = context.Request.Url.LocalPath.Replace("/negotiate", ""),
         ConnectionId = _connectionIdFactory.CreateConnectionId(context.Request, context.User),
         TryWebSockets = context.SupportsWebSockets(),
         WebSocketServerUrl = context.WebSocketServerUrl(),
         ProtocolVersion = "1.0"
     }));
 }
开发者ID:gigi81,项目名称:SignalR,代码行数:12,代码来源:PersistentConnection.cs

示例5: ProcessNegotiationRequest

        private Task ProcessNegotiationRequest(HostContext context)
        {
            // Convert the keepAlive value to seconds based on the HeartBeat interval
            var keepAlive = _configurationManager.KeepAlive * _configurationManager.HeartbeatInterval.TotalSeconds;
            var payload = new
            {
                Url = context.Request.Url.LocalPath.Replace("/negotiate", ""),
                ConnectionId = Guid.NewGuid().ToString("d"),
                KeepAlive = (keepAlive != 0) ? keepAlive : (double?)null,
                DisconnectTimeout = _configurationManager.DisconnectTimeout.TotalSeconds,
                TryWebSockets = _transportManager.SupportsTransport(WebSocketsTransportName) && context.SupportsWebSockets(),
                WebSocketServerUrl = context.WebSocketServerUrl(),
                ProtocolVersion = "1.1"
            };

            if (!String.IsNullOrEmpty(context.Request.QueryString["callback"]))
            {
                return ProcessJsonpRequest(context, payload);
            }

            context.Response.ContentType = JsonUtility.MimeType;
            return context.Response.End(JsonSerializer.Stringify(payload));
        }
开发者ID:Jozef89,项目名称:SignalR,代码行数:23,代码来源:PersistentConnection.cs


注:本文中的HostContext.WebSocketServerUrl方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。