我已经按照这个和这个或这个教程在 .net 核心中构建了一个 WebSocket Web 应用程序。现在我正在尝试使用 Microsoft.AspNetCore.TestHost 对此进行一些集成测试
我创建 WebSocket 的方式
public static WebSocketClient StartWebSocketServer(string url)
{
var baseAddress = $"http://{url}";
var builder =
WebHost.CreateDefaultBuilder(new string[]{})
.UseEnvironment("Development")
.ConfigureLogging((ctx, logging) => logging.AddConsole())
.UseUrls(baseAddress)
.UseStartup<SocketsTestStartup>();
var server = new TestServer(builder);
return server.CreateWebSocketClient();
}
并且 websocket 客户端的创建是在下面的代码中完成的
ClientWebSocket testAppClient = new ClientWebSocket();
await
testAppClient
.ConnectAsync(
new Uri("ws://loclahost:52015/local"),
CancellationToken.None);
local
是 websocket 服务器上的路径名
启动.cs
app.MapWebSocketManager(
"/local",
serviceProvider.GetService<LocalServiceSocketHandler>());
无论如何,连接会产生以下错误
System.Net.WebSockets.WebSocketException : Unable to connect to the remote server
我的问题是如何要求ClientWebSocket
连接TestHost.WebSocketClient
?