I bet CreateClientWebSocket returns a WebSocket because both Managed.ClientWebSocket and ClientWebSocket inherits from WebSocket.
The problem is that it hides the Options property. If I want to set the KeepAliveInterval should I do something like this?
var client = SystemClientWebSocket.CreateClientWebSocket();
if (client is System.Net.WebSockets.Managed.ClientWebSocket managed)
{
managed.Options.KeepAliveInterval = TimeSpan.FromSeconds(0);
await managed.ConnectAsync(uri, cancellationToken);
}
else
{
var coreSocket = client as ClientWebSocket;
coreSocket.Options.KeepAliveInterval = TimeSpan.FromSeconds(0);
await coreSocket.ConnectAsync(uri, cancellationToken);
}
If think one option would be passing the Options as an argument to the ConnectAsync method.
I bet CreateClientWebSocket returns a
WebSocketbecause bothManaged.ClientWebSocketandClientWebSocketinherits fromWebSocket.The problem is that it hides the
Optionsproperty. If I want to set theKeepAliveIntervalshould I do something like this?If think one option would be passing the
Optionsas an argument to theConnectAsyncmethod.