3

Silverlight5アプリケーションでSignalRを使用しています。IIS 7.5のデフォルトのWebサイトから離れた「アプリケーション」(つまり、localhost / subsite)でアプリをホストすると、Fiddlerは「/ signalr/negotiate」に対して404を取得することを示します。

IISアプリケーションパスが考慮されていないようです。「/subsite/ signalr/negotiate」を要求しているはずです。正しいURLプレフィックスを使用するにはどうすればよいですか?

更新:解析を行わずにSilverlightアプリで実際のルートURIを取得するのは難しいように思われるため、次のコードを使用する必要がありました。

string xapLocationUri = Application.Current.Host.Source.AbsoluteUri;  

string rootUri = xapLocationUri.Substring(0, xapLocationUri.IndexOf("/ClientBin"));  

hubConnection = new HubConnection(rootUri);  

IISのルートWebサイトから離れたアプリケーションでホストされている場合は、次のことを実際に信頼することはできません。

Application.Current.Host.Source.GetComponents(UriComponents.Scheme | UriComponents.HostAndPort, UriFormat.Unescaped)  
4

0 に答える 0