Я пытаюсь расширить класс концентратора SignalR, чтобы создать базовый класс, который является концентратором SignalR по своей сути, но с некоторыми дополнительными возможностями.
Мой базовый класс:
public class MyBaseHub : Hub
{
protected ISession NhSession { get; set; }
public MyBaseHub(ISession nhSession)
{
NhSession = nhSession;
}
}
Мой производный класс:
public class MyDerivedHub : MyBaseHub
{
public MyDerivedHub(ISession nhSession) : base(nhSession) { }
}
Вышеприведенное строится нормально, но сгенерированный SignalR javascript выдает ошибку, и я не могу создать соединение на клиенте. В моем базовом классе было больше кода, но я использовал его весь, чтобы попытаться сузить круг проблем, и обнаружил, что проблема на стороне клиента.
Сгенерированный Javascript выдает исключение «Uncaught SyntaxError: Unexpected Number» при определении клиента концентратора MyBaseHub:
myBaseHub`1: { generated properties go in here }
Итак, я предполагаю, что концентраторы SignalR могут быть унаследованы только один раз? Кто-нибудь знает, возможно ли то, что я пытаюсь сделать?