本文整理汇总了C#中ITransportConnection.Abort方法的典型用法代码示例。如果您正苦于以下问题:C# ITransportConnection.Abort方法的具体用法?C# ITransportConnection.Abort怎么用?C# ITransportConnection.Abort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITransportConnection
的用法示例。
在下文中一共展示了ITransportConnection.Abort方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessRequest
public override Task ProcessRequest(ITransportConnection connection)
{
if (IsAbortRequest)
{
return connection.Abort(ConnectionId);
}
else
{
var webSocketRequest = _context.Request as IWebSocketRequest;
// Throw if the server implementation doesn't support websockets
if (webSocketRequest == null)
{
throw new InvalidOperationException(Resources.Error_WebSocketsNotSupported);
}
Connection = connection;
InitializePersistentState();
return webSocketRequest.AcceptWebSocketRequest(socket =>
{
_socket = socket;
socket.OnClose = _closed;
socket.OnMessage = _message;
socket.OnError = _error;
return ProcessReceiveRequest(connection);
},
InitializeTcs.Task);
}
}
示例2: ProcessRequest
public override Task ProcessRequest(ITransportConnection connection)
{
if (IsAbortRequest)
{
return connection.Abort(ConnectionId);
}
else
{
return AcceptWebSocketRequest(socket =>
{
_socket = socket;
socket.OnClose = _closed;
socket.OnMessage = _message;
socket.OnError = _error;
return ProcessRequestCore(connection);
});
}
}
示例3: ProcessRequest
public Task ProcessRequest(ITransportConnection connection)
{
Connection = connection;
if (IsSendRequest)
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
InitializePersistentState();
Task task = null;
if (IsConnectRequest)
{
task = ProcessConnectRequest(connection);
}
else if (MessageId != null)
{
if (IsReconnectRequest && Reconnected != null)
{
// Return a task that completes when the reconnected event task & the receive loop task are both finished
Func<Task> reconnected = () => Reconnected().Then(() => _counters.ConnectionsReconnected.Increment());
task = TaskAsyncHelper.Interleave(ProcessReceiveRequest, reconnected, connection, Completed);
}
else
{
task = ProcessReceiveRequest(connection);
}
}
if (task != null)
{
// Mark the request as completed once it's done
return task.Finally(() => CompleteRequest());
}
}
return null;
}
示例4: ProcessRequestCore
protected Task ProcessRequestCore(ITransportConnection connection)
{
Connection = connection;
if (Context.Request.Url.LocalPath.EndsWith("/send"))
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
InitializePersistentState();
if (IsConnectRequest)
{
if (Connected != null)
{
// Return a task that completes when the connected event task & the receive loop task are both finished
bool newConnection = HeartBeat.AddConnection(this);
return TaskAsyncHelper.Interleave(ProcessReceiveRequestWithoutTracking, () =>
{
if (newConnection)
{
return Connected().Then(() => _counters.ConnectionsConnected.Increment());
}
return TaskAsyncHelper.Empty;
}
, connection, Completed);
}
return ProcessReceiveRequest(connection);
}
if (Reconnected != null)
{
// Return a task that completes when the reconnected event task & the receive loop task are both finished
Func<Task> reconnected = () => Reconnected().Then(() => _counters.ConnectionsReconnected.Increment());
return TaskAsyncHelper.Interleave(ProcessReceiveRequest, reconnected, connection, Completed);
}
return ProcessReceiveRequest(connection);
}
}
示例5: ProcessRequest
public Task ProcessRequest(ITransportConnection connection)
{
Connection = connection;
if (IsSendRequest)
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
if (IsConnectRequest)
{
return ProcessConnectRequest(connection);
}
else if (MessageId != null)
{
if (IsReconnectRequest && Reconnected != null)
{
// Return a task that completes when the reconnected event task & the receive loop task are both finished
return TaskAsyncHelper.Interleave(ProcessReceiveRequest, Reconnected, connection, Completed);
}
return ProcessReceiveRequest(connection);
}
}
return null;
}
示例6: ProcessRequestCore
protected Task ProcessRequestCore(ITransportConnection connection)
{
Connection = connection;
if (Context.Request.Url.LocalPath.EndsWith("/send"))
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort();
}
else
{
if (IsConnectRequest)
{
if (Connected != null)
{
// Return a task that completes when the connected event task & the receive loop task are both finished
return TaskAsyncHelper.Interleave(ProcessReceiveRequest, Connected, connection);
}
return ProcessReceiveRequest(connection);
}
if (Reconnected != null)
{
// Return a task that completes when the reconnected event task & the receive loop task are both finished
return TaskAsyncHelper.Interleave(ProcessReceiveRequest, Reconnected, connection);
}
return ProcessReceiveRequest(connection);
}
}
示例7: ProcessRequestCore
protected Task ProcessRequestCore(ITransportConnection connection)
{
Connection = connection;
if (Context.Request.LocalPath.EndsWith("/send", StringComparison.OrdinalIgnoreCase))
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
InitializePersistentState();
return ProcessReceiveRequest(connection);
}
}
示例8: ProcessRequest
public Task ProcessRequest(ITransportConnection connection)
{
Connection = connection;
if (IsSendRequest)
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
InitializePersistentState();
return ProcessReceiveRequest(connection);
}
}
示例9: ProcessRequestCore
protected async Task ProcessRequestCore(ITransportConnection connection)
{
Connection = connection;
if (IsSendRequest)
{
await ProcessSendRequest().PreserveCulture();
}
else if (IsAbortRequest)
{
await Connection.Abort(ConnectionId).PreserveCulture();
}
else
{
await InitializePersistentState().PreserveCulture();
await ProcessReceiveRequest(connection).PreserveCulture();
}
}
示例10: ProcessRequest
public override Task ProcessRequest(ITransportConnection connection)
{
if (IsAbortRequest)
{
return connection.Abort(ConnectionId);
}
else
{
return AcceptWebSocketRequest(connection);
}
}
示例11: ProcessRequestCore
protected Task ProcessRequestCore(ITransportConnection connection)
{
Connection = connection;
if (IsSendRequest)
{
return ProcessSendRequest();
}
else if (IsAbortRequest)
{
return Connection.Abort(ConnectionId);
}
else
{
return InitializePersistentState()
.Then((t, c) => t.ProcessReceiveRequest(c), this, connection);
}
}