小编bat*_*yar的帖子

如何在docker镜像中运行signalr blazor客户端的StartAsync连接?

我创建了默认的 blazor 服务器端应用程序。然后添加Microsoft.AspNetCore.SignalR.ClientChatHub类。然后编辑startup.cs文件(添加services.AddSignalR()endpoints.MapHub<ChatHub>("/chatHub"))和index.razor页面。然后通过IIS Express运行。没关系。

然后添加docker支持并运行Docker主机。它不工作。因为只有集线器连接 StartAsync 方法不起作用。如何运行它?帮我?非常感谢你们。

错误是:

处理请求时发生未处理的异常。SocketException:无法分配请求的地址System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,int端口,CancellationToken取消令牌)

HttpRequestException:无法分配请求的地址System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,int端口,CancellationToken取消令牌)

索引.剃刀代码:

@code {
    private HubConnection _hubConnection;

    protected override async Task OnInitializedAsync()
    {
        _hubConnection = new HubConnectionBuilder()
            .WithUrl(NavigationManager.ToAbsoluteUri("/chatHub"))
            .Build();

        _hubConnection.On<string, string>("ReceiveMessage", (user, message) =>
        {
            var encodedMsg = $"{user}: {message}";
            StateHasChanged();
        });

        await _hubConnection.StartAsync(); // **DON'T WORK IN DOCKER HOST.**
    }
}
Run Code Online (Sandbox Code Playgroud)

Docker 文件:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["BlazorApp1/BlazorApp1.csproj", "BlazorApp1/"] …
Run Code Online (Sandbox Code Playgroud)

signalr docker asp.net-core blazor

3
推荐指数
1
解决办法
2043
查看次数

标签 统计

asp.net-core ×1

blazor ×1

docker ×1

signalr ×1