3

我在 Silverlight 5 应用程序中使用 SignalR。当我将我的应用程序托管在 IIS 7.5(即本地主机/子站点)默认网站的“应用程序”中时,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 中根网站之外的应用程序中,则不能真正依赖以下内容:

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

0 回答 0