在IIS上找不到SignalR服务器方法

时间:2013-12-19 15:33:53

标签: c# jquery asp.net iis signalr

我在服务器上有以下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
    }

在本地系统上,我看到了所有服务器方法 -

enter image description here

在IIS上,服务器方法如下 - enter image description here

似乎我在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文件似乎不包含指定的方法名称。我认为它将是缓存,但也清除了它。

2 个答案:

答案 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。