本文整理汇总了C#中HostContext.SupportsWebSockets方法的典型用法代码示例。如果您正苦于以下问题:C# HostContext.SupportsWebSockets方法的具体用法?C# HostContext.SupportsWebSockets怎么用?C# HostContext.SupportsWebSockets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HostContext
的用法示例。
在下文中一共展示了HostContext.SupportsWebSockets方法的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());
}
示例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));
}
示例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));
}
示例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"
}));
}
示例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));
}