2012-11-28 54 views
7

我下面就得到一個SignalR項目這個快速教程開始,在我中心上課,我有以下SignalR演示不工作

using Microsoft.AspNet.SignalR.Hubs; 

namespace MvcApplication8.Hubs 
{ 
    public class ChatHub : Hub 
    { 
     public void BroadcastMessage(string message) 
     { 
      Clients.writeMessage(message); 
     } 
    } 
} 

客戶端代碼:

​​

不過我得到編譯時錯誤說:

'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext'不包含 'writeMessage'的定義並且沒有擴展方法'writeMessage' 接受 類型的第一個參數可以找到'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext' (你是否缺少使用指令或程序集引用?)

哪裏出錯了?

我使用包管理器控制檯安裝SignalR到我的項目從http://nuget.org/packages/microsoft.aspnet.signalr 「安裝,包Microsoft.AspNet.SignalR - 售前」

+0

我已經編輯我的帖子,包括實際的消息 哇,一票僅下跌是什麼?告訴我這足夠了。 我得到一個編譯時錯誤,我真的需要明確地問:「我如何擺脫編譯時錯誤?」 –

回答

1

你創建相應的客戶端功能?

<script type="text/javascript"> 
    $(function() { 
     var chat = $.connection.chat; 
     chat.writeMessage = function (message) { 
      $('#messages').append('<li>' + message + '</li>'); 
     }; 
     $.connection.hub.start(); 
    }); 
</script> 
+0

是的,我用我的客戶代碼更新了我的主帖 –

1

檢查,如果你已經安裝了以下軟件包:

  • Microsoft.AspNet.SignalR
  • Microsoft.AspNet.SignalR.Core
  • Microsoft.AspNet.SignalR.Hosting.AspNet
  • Microsoft.AspNet.SignalR.Hosting.Common
0

嘗試更新NuGet包。工具> NuGet軟件包管理器>管理NuGet軟件包的解決方案,在窗口的左側單擊「更新」,在窗口的中心部分獲取要更新的軟件包列表,然後在軟件包上單擊「安裝」獲取最新版本。我更新所有:JQuery,Json.NET,Microsoft ASP.NET SignalR,Microsoft.Owin

在將軟件包更新到最新版本(SignalR Currently 2.2.0)後,您可以編譯。不要忘在「StockTicker.html」更新引用,在更新後,我的情況下,這個樣子:

<script src="/Scripts/jquery-2.1.4.min.js"></script> 
<script src="/Scripts/jquery.signalR-2.2.0.js"></script>