Signalr 从通用中心继承

Signalr 从通用中心继承,signalr,Signalr,假设我有这样一个基类: public class CustomizedHub<M> : Hub { ... } public类定制Hub:Hub { ... } 现在我想从这个基类继承所有的实用的集线器,但是我得到了以下错误: Type CustomizedHub`1<M> is a generic type definition Type CustomizedHub`1是泛型类型定义 上述错误的主要原因是signar试图将基类解析为一个实用的中心。我如何执行它来

假设我有这样一个基类:

public class CustomizedHub<M> : Hub
{
...
}
public类定制Hub:Hub
{
...
}
现在我想从这个基类继承所有的实用的集线器,但是我得到了以下错误:

Type CustomizedHub`1<M> is a generic type definition
Type CustomizedHub`1是泛型类型定义

上述错误的主要原因是signar试图将基类解析为一个实用的中心。我如何执行它来避免这种情况?

只需将基类设置为抽象类即可:

 public abstract class CustomizedHub<M> : Hub
{
...
}
公共抽象类CustomizedHub:Hub { ... }
您可以编写自己的
IHubDescriptorProvider
实现,它将负责在注册过程中跳过泛型基类。您可以检查默认行为。您将通过
DependencyResolver
注入您的实现,如前所述(该基础结构可用于用您自己的实现替换任何库存服务实现)。

将其抽象化更简单:)@MahmoudMoravej您是对的,很想知道。实际上,从我引用的代码中可以很清楚地看到这一点,但我没有注意到:)