私はsignalRで少し遊んでいます。私のアプリケーションには、ASP.NET アプリケーションに格納されている単純なハブが 1 つしかなく、ハブ接続と作成されたプロキシを介して ASP.NET アプリケーションと対話するWPF clientを作成しました。ローカル PC ではすべて正常に動作します。ASP.NET アプリケーションをIISに配置しました。
今、私は要点に達しています...
自分のPCのブラウザに次のように入力すると(pcthi-and)
http://pcthi-and:8080/signalr/hubs
欲しいものは手に入れる
別のPCのブラウザに同じ URL を入力すると、同じ応答が返され、すべて正常に表示されます。
しかし、私のアプリケーションは自分の PC でのみ動作し、他の PC では動作しません。他の PC でハブ接続を開始すると、connectionId が取得されません。
URL を自分の IP アドレスに変更しようとしましたが、効果がありませんでした。
ハブへのブラウザー呼び出しは機能しますが、アプリケーションは機能しません。
呼び出しは次のようになります。
private bool tryToConnectToCoffeService()
{
try
{
this.hubConnection = new HubConnection(ConfigurationManager.ConnectionStrings["coffeeConnection"].ConnectionString);
this.hubConnection.Credentials = CredentialCache.DefaultNetworkCredentials;
this.coffeeService = this.hubConnection.CreateHubProxy("coffee");
this.hubConnection.Start();
if (string.IsNullOrEmpty(hubConnection.ConnectionId))
{
return false;
}
return true;
}
catch(Exception ex)
{
return false;
}
}
Global.asax:
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs();
}
ハブはこんな感じ
[HubName("coffee")]
public class CoffeeHub : Hub
{
私のハブ接続文字列は次のとおりです。
"http://pcthi-and:8080/"
または:
"http://My-Current-IP-Address:8080/"
SignalR 1.0 rc2 を使用しています。
誰にもアイデアがありますか?助けてくれてありがとう。
乾杯
フランク