我正在開發一個MVC3項目,並開始使用SignalR。如何讓SignalR在_Layout.cshtml內工作?
我跟着幾個演示,但我似乎無法得到它的工作時,我的代碼是\ Views \ Shared_Layout.cshtml。我總是得到「必須先啓動連接,然後才能發送數據。」錯誤。
請參考下面我的代碼:
我的班級:
[HubName("notificationsHub")]
public class NotificationsHub : Hub
{
public void updateServer()
{
Clients.updateClient("boom");
}
}
我裏面_Layout.cshtml腳本:
$(function(){
var signalR = $.connection.notificationsHub;
signalR.updateClient = function (message) {
alert(message);
};
$("#open").click(function() {
signalR.updateServer();
});
$.connection.hub.start(function() {
alert("Connected");
});
});
腳本引用:
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.6.4.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.signalR.js")"></script>
<script type="text/javascript" src="@Url.Content("~/signalr/hubs")"></script>
我的NotificationsHub類位於一個名爲NotificationsHub的文件夾中,該文件夾與我的視圖具有相同的目錄級別。
我在.html文件中試過這個,它完美的工作(我得到$ .connection.hub.start的警報回調)。
我在這裏錯過了什麼?
謝謝
一切看起來都適合我,我會確保所有腳本引用都正確解析,並且沒有連接錯誤。 – 2012-03-20 10:59:26
謝謝@ Gary.S,我想我必須更深入地瞭解導致它的原因。 – dmc 2012-03-20 11:29:58