シンプルな SignalR 機能を実装しようとしています。いくつかのチュートリアルを調べたところ、妥当な時間内にサーバーから JavaScript コードを起動することができました。ただし、その逆は、私にはうまくいかないようです。JavaScript からサーバー メソッドを呼び出そうとするたびに、クライアント メソッドが起動し、サーバーにリクエストが送信されますが、サーバー側では何も起こりません。リクエストには通常の 200 ステータス コードがありますが、firebug を使用すると、次の xml が返されます。
XML-parseError: 要素が見つかりません場所: moz-nullprincipal:{b526d81f-4593-4eac-b81d-ebc4a3ef6a39} Rownumber 1, Coll 1:^
これが何か関係があるかどうかはわかりませんが、私が得る唯一のフィードバックです。
ハブ:
namespace MusicSharing
{
public class PlayerHub : Hub
{
public string Connect(string userName)
{
var test = userName;
return userName;
}
}
}
スクリプト参照の追加:
<script type="text/JavaScript" src="Scripts/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.signalR-2.0.0.min.js"></script>
<script src="http://localhost:50287/signalr/hubs"></script>
ジャバスクリプト:
var chat = $.connection.playerHub;
$.connection.hub.start().done(function () {
chat.server.connect("testing");
});
起動:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(MusicSharing.Startup))]
namespace MusicSharing
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
これは基本的に、SignalR に関して私が持っているすべてのコードです。私は何かを逃していますか..?
編集: ping 機能は期待どおりに機能します。返事はポン
EDIT 2: onConnect も起動されるため、接続には何もありません。カスタムメソッドを起動したくないようです。