我在服务器上有以下SignalR
集线器类 -
public int Send(string fromID, string fromName, string toID, string message)
{
// Implementation
}
public void Connected(string username, string userID)
{
// Implementation
}
public List<ChatUser> GetAllConnectedUsers()
{
// Implementation
}
public string CheckIfOpenChat(string strByID, string strWithID)
{
// Implementation
}
public int EndSession(string strByID, string strWithID)
{
// Implementation
}
public override Task OnDisconnected()
{
// Implementation
}
在本地系统上,我看到了所有服务器方法 -
在IIS上,服务器方法如下 -
似乎我在IIS上缺少在开发服务器上的visual studio上可见的服务器方法。
我正在hub.js
-
global.asax
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs();
}
Chat.js
- 我正在初始化与服务器的连接。
_chat = $.connection.chat;
$.connection.hub.start().done(function () { // Implementation }
编辑 - 重启IIS。我的signalR版本也是 1.1.3
生成的hub.js文件似乎不包含指定的方法名称。我认为它将是缓存,但也清除了它。
答案 0 :(得分:0)
请参阅以下文件:
http://www.asp.net/signalr/overview/signalr-20/troubleshooting-and-debugging/troubleshooting
向下滚动到此条目:
“未捕获的TypeError:无法读取未定义的属性”错误
这通常是访问JQuery的问题 - 确保JQuery库的路径正确,并引用了正确的版本。
答案 1 :(得分:0)
这不是SignalR的错误。此错误是由于VS 2012的“不正确发布”引起的。由于某种原因,VS 2012没有发布最新的DLL。