Asp.net mvc 信号服务器方法未从客户端调用

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 -

我在应用程序中使用信号器通知,并从服务器端获取通知。另外,在客户端对通知的响应上,我调用了在hub中定义的服务器端方法。 但它不是从客户端调用。我在中创建了一个不同于其客户端的hub项目。下面是我的代码片段

//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类,将其用作解决方案中不同项目中的库。