Aplikacje Silverlight, SignalR i IIS z domyślnej witryny sieci Web

Używam SignalR w aplikacji Silverlight 5. Kiedy hostuję moją aplikację w „aplikacji” z domyślnej strony internetowej w IIS 7.5 (tj. Localhost / subsite) Skrzypek pokazuje, że dostaję 404 za „/ signalr / negotiate”.

Wydaje się, że nie uwzględnia ścieżki aplikacji IIS. Powinno być żądanie „/ podwitryna / sygnał / negocjacja”. Jak uzyskać poprawny prefiks URL?

Aktualizacja: musiałem użyć następującego kodu, ponieważ uzyskanie prawdziwego głównego identyfikatora URI w aplikacji silverlight wydaje się trudne, bez konieczności przeprowadzania analizy.

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

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

hubConnection = new HubConnection(rootUri);  

Nie możesz polegać na następujących elementach, jeśli znajdujesz się w aplikacji wyłączonej z głównej witryny sieci Web w usługach IIS:

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

questionAnswers(0)

yourAnswerToTheQuestion