現在取り組んでいるプロジェクトで SignalR ライブラリを使用しようとしています。私はいくつかのブログを読み、いくつかのスタックオーバーフローの回答を見て、シグナルのドキュメントをチェックしましたが、運がありませんでした。以下のコードは、私が動作させようとしている最も単純なサンプルにすぎません。
ハブ、jquery 2.0.0、ASP.NET MVC2、.NET Framework 4 で SignalR 1.0.1 を使用していますUrl.Content("~/signalr/hubs")
。ページのソース コードで signalr/hubs をクリックすると、SignalR によって生成された js コードが表示されます。
RouteTable.Routes.MapHubs();
Application_Start() My Hub の先頭にも追加しました。
public class Chat : Hub
{
public void Send()
{
Clients.All.addMessage();
}
}
jQuery ドキュメント準備ブロック内のクライアント コード
$(function() {
var chat = $.connection.chat;
chat.client.addMessage = function() {
console.log("hello here");
};
$.connection.hub.logging = true;
$.connection.hub.error(function() {
console.log("An error occured1");
});
$.connection.hub.start()
.done(function() {
alert("Now connected!");
})
.fail(function() {
console.log("Could not connect");
});
});
問題は、
http://localhost/EC/signalr/negotiate
ステータス 200 OK を返しますが、応答本文が空であるため、接続が作成されないことです。
を設定しようとしましたrunAllManagedModulesForAllRequests="true"
が、何も変更しませんでした。また、試し$.connection.hub.url = 'http://localhost/EC/signalr';
ましたが、効果はありませんでした。
また、ハブ クラスを Hubs フォルダーまたはプロジェクトのルートに保持しました。
アイデアが不足しているため、解決策を探す方法と場所を教えていただければ幸いです。