Приложения Silverlight, SignalR и IIS на веб-сайте по умолчанию
Я использую SignalR в приложении Silverlight 5. Когда я размещаю свое приложение в «приложении» с сайта по умолчанию в IIS 7.5 (то есть localhost / subsite) Fiddler показывает, что я получаю 404 для "/ signalr /gotiate".
Кажется, он не учитывает путь приложения IIS. Он должен запрашивать "/ subsite / signalr /gotiate". Как мне заставить его использовать правильный префикс URL?
Обновить: Мне пришлось использовать следующий код, потому что кажется, что трудно получить реальный корневой URI в приложении silverlight без какого-либо анализа.
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)