我遇到了一个奇怪的问题,我可以调用服务器函数,但作为回报,当我尝试调用客户端函数时,它不会调用我做错了什么或错过了一些要完成的代码或配置
我正在使用 Visual Studio 2010 并开发 Web 应用程序
服务器代码只是一个简单的类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
namespace SignalRDemo
{
public class MyHub:Hub
{
public void GetMessage(string msg)
{
Clients.All.getMsg1("Got :"+msg);
}
}
}`
在全球 asax 我有
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs();
}
客户端代码我只是单击 btn ,它按预期调用服务器函数 GetMessage 但作为回报它不调用 getMsg1
$(document).ready(function () {
debugger;
var chat = $.connection.myHub;
chat.getMsg1 = function (msg) {
debugger;
alert(msg);
};
$("#btn").click(function () {
chat.server.getMessage("called");
});
$.connection.hub.start()
});
我用谷歌搜索发现我们需要在启动我所做的集线器连接之前注册客户端功能,但它仍然无法正常工作,也不会引发任何错误