小编idu*_*ori的帖子

在 ASP.NET Core SignalR 中从 TestServer 初始化 HubConnection

是可以初始化HubConnectionMicrosoft.AspNetCore.TestHost.TestServer

下面的示例在以下位置抛出HttpRequestException(未找到)异常await hubConnection.StartAsync();

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.SignalR.Client;
using Microsoft.AspNetCore.TestHost;
using Xunit;

namespace FunctionalTests
{
    public class PubSubScenarios
    {
        [Fact]
        public async Task SignalRHubTest_Foo()
        {
            var webHostBuilder = WebHost.CreateDefaultBuilder().UseStartup<Startup>();

            using (var testServer = new TestServer(webHostBuilder))
            {
                var hubConnection = await StartConnectionAsync(testServer.BaseAddress);                
            }
        }

        private static async Task<HubConnection> StartConnectionAsync(Uri baseUri)
        {
            var hubConnection = new HubConnectionBuilder()
                .WithUrl($"http://{baseUri.Host}/fooHub")
                .WithConsoleLogger()
                .Build();

            await hubConnection.StartAsync();

            return hubConnection;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

signalr asp.net-core asp.net-core-signalr

4
推荐指数
1
解决办法
1822
查看次数