ASP.NET没有合适的WebSocketManagerMiddleware构造函数

问题描述 投票:1回答:1

我在创建WebSocketManager Extensions时遇到错误:

System.InvalidOperationException
A suitable constructor for type 
'CustomerManagementCore.WebSocketManager.WebSocketManagerMiddleware' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.

MapWebSocketManager方法:

public static IApplicationBuilder MapWebSocketManager(this IApplicationBuilder app,
                                                            PathString path,
                                                            WebSocketHandler handler)
{
    return app.Map(path, (_app) => _app.UseMiddleware<WebSocketManagerMiddleware>(handler));
}

WebSocketManagerMiddleware构造函数:

public WebSocketManagerMiddleware(RequestDelegate next,
                                      WebSocketHandler webSocketHandler)
{
    _next = next;
    _webSocketHandler = webSocketHandler;
}

我知道我的WebSocketManagerMiddleware构造函数是否有错误,但我不知道。谁知道?

谢谢。

c# asp.net asp.net-core dnx dnx50
1个回答
4
投票

从错误中我猜想WebSocketHandler没有添加到你的启动类中的IServicesCollection。将它添加到服务集合后,应该能够按预期注入它。通常,这是在ConfigureServices方法中为从默认模板创建的ASP.NET Core应用程序完成的。

© www.soinside.com 2019 - 2024. All rights reserved.