2013-04-08 52 views
2

我將SignalR添加到現有的ASP.Net 4 Web窗體應用程序中。創建了一個名爲集線器新的文件夾,並添加像這樣一箇中心:)ASP.Net Web窗體SignalR對象沒有方法

[HubName("UpdatesHub")] 
public class UpdatesHub : Hub 
{ 
    public void DownloadUpdates() 
    { 
     // Code Removed 
    } 
} 

添加了RouteTable.Routes.MapHubs(;到的Application_Start並增加了以下頁面:

<script src="/Scripts/jquery-1.9.1.js"></script> 

<script src="/Scripts/jquery.signalR-1.0.1.js"></script> 

<script src="/signalr/hubs"></script> 
<script type="text/javascript"> 
    $(function() { 
     // Declare a proxy to reference the hub. 
     var upd = $.connection.UpdatesHub; 

     // Code Removed 

     // Start the connection. 
     $.connection.hub.start().done(function() { 
      $('#btnDownload').click(function() { 
       upd.server.DownloadUpdates(); 
      }); 
     }); 

    }); 

</script> 

但每當我按一下按鈕我只是得到「遺漏的類型錯誤:對象#有沒有方法‘下載更新文件’」。我試過通過NuGet移除並讀取信號,但似乎無法得到此工作,幫助!

回答

3

SignalR camelCases the method names on the server.請嘗試檢查downloadUpdates()是否存在。

+4

最簡單的檢查方法是直接在瀏覽器中導航到「/ signalr/hubs」,以查看SignalR創建的Javascript代碼。 – 2013-04-08 11:08:26

+1

好吧石頭我很簡單,謝謝你。 – user1166905 2013-04-08 11:13:11