ASP.NET MVC 4 で動作する SignalR を備えた Scott Hanselman のチャット アプリを手に入れました。何時間もの構成、試行錯誤、および異なるバージョンの Windows をホーム ネットワーク上で相互に通信できるようにした後、すべてが機能しています。対処方法がわからないという問題が1つ残っています。
Visual Studio または公開 (IIS) バージョンのどちらでアプリを実行しているかに応じて、この JavaScript の行を変更する必要があります。
VS 内で実行する場合に機能します。
var connection = $.connection('echo');
公開されたバージョンで動作します:
var connection = $.connection('ChatWithSignalR/echo');
VS 内で実行すると、URL は次のようになります。
http://localhost:9145/
そして、公開されたバージョンは次のとおりです。
http://localhost/ChatWithSignalR
そのコード行を変更せずに、ChatWithSignalR を含む JavaScript を使用して VS 内でアプリを実行しようとすると、次のようなエラーが発生します。
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:9145/ChatWithSignalR/echo/negotiate?_=1347809290826
同じ JavaScript コードを使用して両方のシナリオで動作させるにはどうすればよいですか?
var connection = $.connection('??????');
これは私の Global.asax.cs にあることに注意してください。
RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");