locked
Aplicação Silverlight pegar o endereço da pagina onde esta sendo executada. RRS feed

  • Pergunta

  • Boa Tarde a Todos!

    Sou iniciante em Silverlight, e preciso de ajuda pra sanar a seguinte dúvida:

    Temos uma aplicação Silverlight que foi distribuída para uns 3 ou 4 clientes (empresas), geralmente essa aplicação roda dentro de um "iframe" na pagina do cliente. Oque eu preciso fazer é que quando a aplicação for acessada ela leia o endereço de onde está sendo acessada e apenas guarde numa string esse valor. 

    Alguém poderia me dar uma ideia de como fazer isso?

    Desde já agradeço a todos !

    sexta-feira, 9 de janeiro de 2015 17:31

Respostas

  • Bom Pessoal, as respostas foram de grande ajuda, porém consegui resolver a questão com esse código:

    string endereco = System.Windows.Browser.HtmlPage.Document.DocumentUri.ToString();

    Obrigado a Todos !

    • Marcado como Resposta Sergio Lucas quinta-feira, 15 de janeiro de 2015 16:21
    quinta-feira, 15 de janeiro de 2015 16:20

Todas as Respostas

  • Sua aplicação está hospedada em um único lugar em seus servidores e está sendo chamada via iframe pelos diferentes sites dos clientes ou são instalações diferentes para cada cliente?

    Se for uma instalação diferente para cada cliente, em primeiro lugar eu não usaria iframe. eu simplesmente colocaria a chamada ao na própria página dos clientes, pois iframes as vezes podem sofrer restrições de segurança em browsers modernos e isso pode te dar problemas no futuro ou dificultar sua interação com os sites se isso for necessário.

    Independe do caso, há várias formas que você pode identificar o site que está chamando:

    1- Fazer com que cada cliente faça a chamada a url do iframe ou plugin (caso deixe de usar iframe) passando um parâmetro que o identifique. Sua página do iframe repassa esse parametro para a chamada o plugin e então você pode ler esse parâmetro no evento de load da aplicação Silverlight.

    2- Usar javascript na sua página que é carregada no iframe. Esse javascript vai ver a url de origem e passar para uma função do plugin silverlight ou ele pode ser executado antes do plugin carregar e colocar essa informação como parametro na chamada do plugin.

    3- Fazer o próprio plugin realizar uma chamada ao javascript para ler a informação desejada.

    Tem um post bem antigo no meu blog sobre passagem de parametros para aplicações Silverlight. Apesar de ser antigo, a técnica usada lá ainda funciona. Interação com Silverlight - Passando Parâmetros.

    Infelizmente eu não tenho nenhum post no meu blog com informações sobre como comunicar entre javascript e silverlight (é possível chamar métodos do javascript a partir do silverlight e vice versa), mas esse é um assunto fácil de pesquisar na internet. Se não achar o que precisa ou ainda tiver dúvidas, não hesite em perguntar.


    Atenciosamente,

    Kelps Leite de Sousa
    blog: http://kelps.net
    twitter : http://twitter.com/kelps

    Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.


    sábado, 10 de janeiro de 2015 11:04
  • Bom Pessoal, as respostas foram de grande ajuda, porém consegui resolver a questão com esse código:

    string endereco = System.Windows.Browser.HtmlPage.Document.DocumentUri.ToString();

    Obrigado a Todos !

    • Marcado como Resposta Sergio Lucas quinta-feira, 15 de janeiro de 2015 16:21
    quinta-feira, 15 de janeiro de 2015 16:20