locked
Aplicação Silverlight enviar dados a uma aplicação VB6 RRS feed

  • Pergunta

  • Boa tarde.

    O Visual Basic 6 bem antigo e todos sabem. Antes tinha duas aplicações VB6 que trocavam informações via Winsock.

    Agora uma delas é Silverlight. Qual a melhor forma de enviar dados de uma aplicação Silverlight para o Vb6 estando em uma intranet? 

    Não pode ser via banco de dados. Tem que ser instantâneo.

    Obrigada

    Teles


    sexta-feira, 7 de junho de 2013 20:12

Todas as Respostas

  • Pode continuar usando Sockets em Silverlight, que por sinal é muito robusto. Dá uma olhada neste artigo do MSDN sobre a api de sockets do Silverlight:

    http://msdn.microsoft.com/en-us/library/cc296248(v=vs.95).aspx

    A única restrição que você terá usando Sockets em Silverlight é que só é permitido usar portas no range entre 4502-4534, por uma questão de segurança (para evitar aplicações Silverlight fazendo hijack de portas utilizadas por outros serviços do Windows).


    Atenciosamente,

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

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

    terça-feira, 11 de junho de 2013 18:45
  • Boa tarde, Kelps.

    Estive testando um exemplo de socket em Silverlight (http://weblogs.asp.net/dwahlin/archive/2008/04/10/pushing-data-to-a-silverlight-client-with-sockets-part-i.aspx) e pelo que li a respeito existem algumas restrições de segurança. 

    No exemplo citado eles implementam um arquivo policy.xml. Sem este arquivo não há como obter a comunicação entre aplicações.

    Para testar com o VB6 eu criei uma aplicação de nome "Policy Server" do tipo console c# que implementa este arquivo ( policy.xml). Executo ele no mesmo PC que tem o aplicativo em VB6. Com a aplicação console rodando, o VB6 recebe a informação via socket de uma aplicação Silverlight, se ele estiver parado, na tentativa da aplicação Silverlight enviar um socket para o VB6 dá erro de "Acesso Negado".

    Dúvidas:

    - Não ficou muito claro pra mim a funcionalidade do arquivo policy.xml. Você tem algum link/material que explica o funcionamento dele?

    - Toda aplicação que for receber dados via socket de uma aplicação Silverlight deverá implementar de alguma forma este arquivo policy.xml?

    - Você tem alguma sugestão melhor de como eu deveria implementar isto com o VB6?

    Arquivo policy:

    <?xml version="1.0" encoding ="utf-8"?>
    <access-policy>
        <cross-domain-access>
            <policy>
                <allow-from>
                    <domain uri="*" />
                </allow-from>
                <grant-to>
                    <socket-resource port="4530"
                                     protocol="tcp" />
                </grant-to>
            </policy>
        </cross-domain-access>
    </access-policy>

    Att.

    Teles


    terça-feira, 23 de julho de 2013 20:50