[英]Calling a server method that is outside of the Hub class from the client in SignalR
[英]Extending SignalR Server Hub class to create a base Hub class
我正在嘗試擴展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
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.