私はクロスドメインで動作しているが、運がない超シンプルなハブ接続を取得しようとしています。私は何十もの記事を読んだが、言及されたすべてをやったが、まだ成功していない。クロスドメインで動作するSignalRハブ接続を取得するにはどうすればよいですか?
マイサーバーハブがここ
public class ChatHub : Hub
{
public void Send(string name, string message)
{
Clients.All.broadcastMessage(name, message);
}
}
マイサーバーMapHubs呼び出しがここに
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });
ですされているすべての私のjavascriptのクライアントは、ここでは
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-2.0.1.min.js"></script>
<script src="~/Scripts/jquery.signalR-1.1.2.min.js"></script>
<script src="/signalr/hubs"></script>
</head>
<body>
<div class="container">
<input type="text" id="displayname" value="Test" />
<input type="text" id="message" value="I'm here" />
<input type="button" id="sendmessage" value="Send" />
</div>
<script type="text/javascript">
$(function()
{
$.connection.hub.url = 'http://<my url>/';
var chat = $.connection.chatHub;
alert(chat);
$.connection.hub.start().done(function()
{
alert("Connection succeeded");
}).fail(function()
{
alert("Connection failed");
});
});
</script>
</body>
</html>
問題は、それが到達したことがないということです接続の成功または失敗のアラートとアラート(チャット)コールは未定義を返します。
は、私は、$ .connection.hub.urlライン
$.connection.hub.url = 'http://<My url>';
$.connection.hub.url = 'http://<My url>/';
$.connection.hub.url = 'http://<My url>/signalr';
$.connection.hub.url = 'http://<My url>/signalr/';
のためのいくつかの組み合わせを試したChromeとFirebugの中デベロッパーコンソールは、同じドメイン、それには私にエラー
Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
を与えます正常に動作します。これは本当に私を夢中にさせてくれたので、どんな助けもありがたいです。
おかげで、 ジェイソン
恐縮です。私は実際に手動プロキシメソッド(2)を使って試してみましたが、運はありませんでしたが、当時は別の何かが間違っていたに違いありません。私はもう一度試して、それを働かせました。今PhoneGapで作業するには、それは別の日の課題です。 – Jason
@ Jason - 携帯電話と信号機があれば運がいいですか?来週にこれを解読しようとすると、他の誰かがそれを働かせたと聞くのに役立つでしょう。 –
@DeeMac - 私たちはプロジェクト(クライアント資金調達の問題)をやっていないので、もうこれ以上はやっていません。 SignalRは私が最後に作業して以来かなり進化してきました。しかし、それは非常にクールな技術です。 – Jason