none
WebService retornar Objeto RRS feed

  • Pergunta

  • Desenvolvi uma classe de acesso a dados que contém atributos e metodos.

    Desta classe gerei uma dll e gostaria de através do WebService retornar o objeto desta classe.

    Este objeto retornado já conterá seus atributos e metodos para serem executados localmente.

    A vantagem é que se eu corrigir algum erro na dll (recompilando) o WebService retornará o objeto funcionando corretamente.

     

    Como faço para retornar um objeto de um WebService?

     

    Abraços,

     

    Carneiro

     

    terça-feira, 17 de abril de 2007 21:14

Todas as Respostas

  • Oi !

     

    WebService não faz isso. WebService pode retornar classes personalizadas, através da serialização em XML, mas ao desfazer a serialização ele recria o tipo no client apenas com seus atributos. Ele não vai enviar a sua classe para o client via XML e fazer a atualização de sua classe no client.

     

    Está mais parecendo que você precisa é do uso de clickonce do que webServices. Tem um artigo sobre clickonce no site http://www.bufaloinfo.com.br

     

    []'s

     

    quarta-feira, 18 de abril de 2007 04:13
  • A idéia é a seguinte: tenho 2 aplicações Web, sendo: AppWeb1 e AppWeb2 e as duas usam objetos de acesso a dados criados em uma dll.

    Quando eu adiciono referencia desta dll aos projetos, ele cria uma cópia da dll na pasta bin de cada projetos.

    Depois eu publico as AppWebs na Internet e cada aplicação/diretorio fica com uma cópia da dll.

    Quando eu mudo algo na dll, tenho que atualizar cada AppWeb.

     

    Gostaria de ter esta dll em um local na web e todas AppWeb fizessem chamadas aos objetos desta dll e caso eu alterasse/corrigisse algo na dll estaria corrigido para todas AppWebs, foi por isto que pensei em usar um WebService.

     

    Se alguém tiver alguma idéia a respeito, desde já agradeço.

     

    Carneiro

    quarta-feira, 18 de abril de 2007 13:06
  • Oi !

     

    A única forma de fazer isso é instalando a DLL no GAC (Global Assembly Cache) e atualizando-a no GAC sempre que necessário, desta forma atualizando a DLL em um único local.

     

    Porém isso só é possível se você estiver com acesso direto ao servidor, não tem como fazer isso em provedores de hospedagem.

     

    []'s

     

    quarta-feira, 18 de abril de 2007 14:15
  • Jeito 1: Use o updater application block (http://www.microsoft.com/downloads/details.aspx?familyid=c6c17f3a-d957-4b17-9b97-296fb4927c30&displaylang=en)

     

    Jeito 2: Fazer uma referencia no codebase com um endereço http onde o assembly se encontra

     

    Jeito 3: Usar um diretório compartilhado entre ambos os web servers com o assembly.

     

    Jeito 4: Codificando, manualmente, acessar uma URL, baixar o assembly e executa-lo via reflection, fazendo essa atualização a cada x minutos

     

    Jeito 5: Fazer um pacote MSI de instalação e instalar via active directory ou SMS, considerando que ambos os servidores estão no mesmo domínio.

    quinta-feira, 26 de abril de 2007 22:06