Aplicativos Silverlight, SignalR e IIS fora do site padrão
Estou usando o SignalR em um aplicativo do Silverlight 5. Quando hospedo meu aplicativo em um "aplicativo" fora do site padrão no IIS 7.5 (por exemplo, localhost / subsite), o Fiddler mostra que recebo um 404 para "/ signalr / negotiate".
Não parece levar em consideração o caminho do aplicativo IIS. Ele deve estar solicitando "/ subsite / signalr / negotiate". Como obtenho para usar o prefixo de url correto?
Atualização: Eu tive que usar o código a seguir porque parece ser difícil obter o URI da raiz real em um aplicativo do Silverlight sem fazer alguma análise.
string xapLocationUri = Application.Current.Host.Source.AbsoluteUri;
string rootUri = xapLocationUri.Substring(0, xapLocationUri.IndexOf("/ClientBin"));
hubConnection = new HubConnection(rootUri);
Você não pode confiar no seguinte se estiver hospedado em um aplicativo fora do site raiz no IIS:
Application.Current.Host.Source.GetComponents(UriComponents.Scheme | UriComponents.HostAndPort, UriFormat.Unescaped)