「ハブ外からハブ経由でブロードキャストする」に従っていますが、クライアント ブラウザーにメッセージが表示されません。エラーもありません。hubContext をプルしてメッセージを送信するときに、signalR が私のブラウザーを認識していないようです。
ただし、クライアントからハブに呼び出す場合、私のハブは期待どおりに動作します。
私のハブ:
[HubName("myHub")]
public class MyHub : Hub
{
public void SaySomething(string message)
{
Clients.say(message);
}
public void SayHelloWorld()
{
Clients.say("hello world");
}
}
サーバー内の他の場所と時間からのコード:
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.say(message);
そして私のクライアントスクリプト:
<script src="Scripts/jquery.signalR-0.5.3.js" type="text/javascript" > </script>
<script src="signalr/hubs"> </script>
<script type="text/javascript">
var hub = $.connection.myHub;
$.extend(hub, {
Say: function(message) {
alert(message); //this only works when the sayHelloWorld() method is executed
}
});
$.connection.hub.start()
.done(function(){
hub.sayHelloWorld(); //this works
});
</script>