加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 扩展SignalR Server Hub类以创建基本Hub类

发布时间:2020-12-16 10:02:09 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试扩展SignalR Hub类以创建一个基类,它是一个SignalR Hub,但它有一些额外的pzazz. 我的基类: public class MyBaseHub : Hub { protected ISession NhSession { get; set; } public MyBaseHub(ISession nhSession) { NhSession = nhSession; }} 我的
我正在尝试扩展SignalR Hub类以创建一个基类,它是一个SignalR Hub,但它有一些额外的pzazz.

我的基类:

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在定义MyBaseHub集线器客户端时抛出异常“Uncaught SyntaxError:Unexpected Number”:

myBaseHub`1: { generated properties go in here }

所以我猜测SignalR集线器只能继承一次?有谁知道我想做什么是可能的?

解决方法

您的问题是基本集线器是通用的,但代码示例没有显示它.如果你使类抽象,代理生成器将不会提取它.此外,您可以使用[HubName]属性重命名集线器.

[HubName("MyHub")]
public class MyHub2 : Hub 
{
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读