Pergunta

Eu recebo exceção de segurança quando se utiliza System.Net.WebClient para fazer solicitações HTTP, que é devido ao fato de que crossdomain.xml ou clientaccesspolicy.xml no servidor de destino estão ausentes ou são muito restritivas. Eu sei que há uma boa razão para isso (cookies e cross-site request forgery), mas ela não se aplica no meu caso uma vez que todos necessidade I está fazendo simples solicitações HTTP GET para URLs arbitrárias sem o uso de cookies ou fantasia nada .

Já pensou em uma idéia de um proxy que vai buscar os URLs, mas que soa mais como uma solução alternativa feio, para não mencionar o desperdício de largura de banda.

O que é a maneira (se houver) para fazê-lo em Silverlight? Estou usando a classe certa?

Foi útil?

Solução

Eu acho que isso não é realmente possível, pelo menos com WebClient. A idéia é restringir (proteger ...) os clientes de pedidos indesejados para outros servidores.

Para contornar isso, o que você pode fazer é ter um webservice proxy que vai chamar as "URLs arbitrárias" do seu servidor web, e passar os resultados de volta para o cliente Silverlight. Dessa forma, os clientes ficar protegido quando você atingir a funcionalidade desejada.

Outras dicas

Por que você quer se livrar dele?

Se você perfil solicitações Silverlight ... em um cenário de domínio cruzado eles sempre chamar o arquivo clientaccesspolicy. Você não pode alterar esse comportamento (interno ao tempo de execução Silverlight). Além disso, se ele não encontrar o arquivo clientaccessolicy.xml suas chamadas a equivelant Flash / Flex (crossdomain.xml). Se ambos não existem ou não vai permitir que os pedidos desse domínio, os seus pedidos simplesmente falhará.

Eu escrevi um artigo sobre o uso HttpHandlers, a fim de não ter de colocar os arquivos XML no seu servidor web local e você pode torná-los dinâmico. O artigo está localizada aqui:

http://silverlighthack.com/post/2008/11/08/Silverlight-clientaccesspolicyxml-files-for-the-Enterprise- (Parte-1-of-2) .aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top