Signalr 从服务器调用客户端脚本-信号器
我正在mvc4 web应用程序中使用SignalR。 我有一个从HUB继承的类Signalr 从服务器调用客户端脚本-信号器,signalr,Signalr,我正在mvc4 web应用程序中使用SignalR。 我有一个从HUB继承的类 [HubName("Chat")] public class ChatHub : Hub ,IDisconnect { private void CallMessage(string message) { Clients.MessagesRecieved(message); } .... 在我的客户端js文件中,我编写了 $(函数(
[HubName("Chat")]
public class ChatHub : Hub ,IDisconnect
{
private void CallMessage(string message)
{
Clients.MessagesRecieved(message);
}
....
在我的客户端js文件中,我编写了
$(函数(){
globalChatHub=$.connection.chat
$.extend(globalChatHub, { MessagesRecieved: function (data) {
alert(data);
}
});
问题是,,
是否可以从my HomeController.cs中的代码调用客户端脚本“MessagesReceived函数”
让我们这样说:
public class HomeController : Controller
{
public ActionResult Index()
{
// this is a test
ChatHub h = new ChatHub();
h.CallMessage("hellow");
}
当然,
您可以用调用客户端代码的相同方式调用它:
//Define the client method:
globalChatHub.hello = function {alert('hello');}
在服务器代码中,只需编写:
ChatHub h = new ChatHub();
h.Client.hello();
方法的名称区分大小写
更多信息请访问此链接当然,
您可以用调用客户端代码的相同方式调用它:
//Define the client method:
globalChatHub.hello = function {alert('hello');}
在服务器代码中,只需编写:
ChatHub h = new ChatHub();
h.Client.hello();
方法的名称区分大小写
此链接中的更多信息您可以使用以下代码在
Hub
上下文中为您的ChatHub
创建一个链接:
var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
试试看。希望这有帮助。您可以使用以下代码在
Hub
上下文中创建您的ChatHub
:
var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
试试看。希望这有帮助。在mvc控制器中,我使用以下代码调用hub中的方法 在hub实现中,我更喜欢让实现调用hub中的客户机,以使代码具有内聚性。
public void Echo(字符串sessionId,动态数据)
{
var context=GlobalHost.ConnectionManager.GetHubContext();
context.Clients.All.ClientSideMethod(..)
}
在mvc控制器中,我使用以下代码调用hub中的方法
在hub实现中,我更喜欢让实现调用hub中的客户机,以使代码具有内聚性。
public void Echo(字符串sessionId,动态数据)
{
var context=GlobalHost.ConnectionManager.GetHubContext();
context.Clients.All.ClientSideMethod(..)
}
你真的是救命恩人!非常感谢,正是我想要的。:)你真的是救命恩人!非常感谢,正是我想要的。:)