标签: signalr
假设我有这样一个基类:
public class CustomizedHub<M> : Hub { ... }
现在我想从这个基类继承所有实用集线器,但是我收到以下错误:
Type CustomizedHub`1<M> is a generic type definition
上述错误的主要原因是SignalR尝试将基类解析为实际的集线器。我如何强制执行它以避免这种情况?
答案 0 :(得分:6)
只需将您的基类设为抽象类:
public abstract class CustomizedHub<M> : Hub { ... }
答案 1 :(得分:2)
您可以编写自己的IHubDescriptorProvider实现,它将负责在注册过程中跳过通用基类。您可以检查默认行为here。您将通过DependencyResolver注入您的实施,如here所述(该基础设施可用于替换您自己的任何股票服务实施)。
IHubDescriptorProvider
DependencyResolver