Asp.net mvc 信号服务器方法未从客户端调用
我在应用程序中使用信号器通知,并从服务器端获取通知。另外,在客户端对通知的响应上,我调用了在hub中定义的服务器端方法。 但它不是从客户端调用。我在中创建了一个不同于其客户端的hub项目。下面是我的代码片段Asp.net mvc 信号服务器方法未从客户端调用,asp.net-mvc,signalr,Asp.net Mvc,Signalr,我在应用程序中使用信号器通知,并从服务器端获取通知。另外,在客户端对通知的响应上,我调用了在hub中定义的服务器端方法。 但它不是从客户端调用。我在中创建了一个不同于其客户端的hub项目。下面是我的代码片段 //Client side Implementation $(function(){ var hub = $connection.messageHub //client method which can be called from the server -
//Client side Implementation
$(function(){
var hub = $connection.messageHub
//client method which can be called from the server - **Working**
hub.client.broadcastMessage = function(message, clientId)
{
$(#messages).append("<p> + message +</p>")
}
$connection.hub.start.done(function(){
$("#btnOk").on('click', function(){
//server method which is called from Ok button of popup - **Not working**
hub.server.signalRMessageBox("Ok", $connection.hub.id);
});
});
});
//Server side method:
public class MessageHub: Hub
{
public void SignalRMessageBox(string message string clientId)
{
//Server side Implementation
}
}
//客户端实现
$(函数(){
var hub=$connection.messageHub
//可从服务器调用的客户端方法-**正在工作**
hub.client.broadcastMessage=函数(消息,clientId)
{
$(#messages).append(“+message+”)
}
$connection.hub.start.done(函数(){
$(“#btnOk”)。在('click',function()上{
//从弹出窗口的Ok按钮调用的服务器方法-**不工作**
hub.server.signalRMessageBox(“Ok”,$connection.hub.id);
});
});
});
//服务器端方法:
公共类MessageHub:Hub
{
public void signalMessageBox(字符串消息字符串clientId)
{
//服务器端实现
}
}
请说明我做错了什么。您应该有这样一个
连接$.connection.messageHub
和$.connection.hub.start().done(function(){})
etc检查您的浏览器控制台是否有错误感谢您的建议teresko,但是上面的查询中有键入错误。我在实际实现中只使用了$.connection.messageHub。问题在于它在我的项目中的实现,但它在一个演示应用程序中工作。我在一个单独的项目中创建hub类,将其用作解决方案中不同项目中的库。