Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net Core 3 MVC Web套接字不显示查看页面_C#_.net Core_Websocket - Fatal编程技术网

C# .Net Core 3 MVC Web套接字不显示查看页面

C# .Net Core 3 MVC Web套接字不显示查看页面,c#,.net-core,websocket,C#,.net Core,Websocket,用于Set中间件的函数 public static IApplicationBuilder MapWebSocketManager(this IApplicationBuilder app, PathString path, WebSocketHandler handler) {

用于Set中间件的函数

public static IApplicationBuilder MapWebSocketManager(this   IApplicationBuilder app,
                                                    PathString path,
                                                    WebSocketHandler handler)
    {
        return app.Map(path, (_app) => _app.UseMiddleware<WebSocketManagerMiddleware>(handler));
    }
公共静态IApplicationBuilder MapWebSocketManager(此IApplicationBuilder应用程序,
路径字符串路径,
WebSockAndler处理程序)
{
返回app.Map(路径,(_-app)=>_-app.useMidleware(handler));
}
在StartUp.cs中设置中间件

  app.MapWebSocketManager("/ws",serviceProvider.GetService<ChatMessageHandler>());
app.MapWebSocketManager(“/ws”,serviceProvider.GetService());
它起作用了。但我需要在根地址使用WS。所以我用这个:

  app.MapWebSocketManager("",serviceProvider.GetService<ChatMessageHandler>());
app.MapWebSocketManager(“,serviceProvider.GetService()”);
然后我的查看页面不显示。但WS仍然正常。。任何人对此都有任何建议吗?

您使用的
.Map()
函数将在用户每次进入所述路径时执行。因此,当您执行
映射(“,…)
时,您将覆盖默认路径(该路径将包含您的视图页面),并要求它使用您的中间件。如果只想使用中间件,可以在
MapWebSocketManager
中使用以下内容:

return app.UseMiddleware<WebSocketManagerMiddleware>(handler);
return app.usemidleware(处理程序);

这是一个什么样的mvc项目?razor pages还是经典MVC?如果上面的代码不起作用,那一定是中间件的问题。您是否正在检查中间件中的路径?razor pages.NET core 3.0根据您问题中提供的信息,这是制作中间件的方法。如果您使用了上述代码,但看不到视图,但在删除该行代码时可以看到视图。然后,您的问题出现在中间件和/或您在代码中放置“app.MapWebSocketManager”行的位置