none
WCF utilizando Multicamadas/Bibliotecas RRS feed

  • Pergunta

  • Galera ,tenho o seguinte cenário , no meu serviço WCF , tenho dois métodos onde estão exposto no meu serviço , só que esses dois métodos possui parâmetros de um objeto e retorna uma coutro objeto ex:

     <OperationContract()> _
     Function ProcessaSolicitacao(ByVal msgSolicitacaoRecepcao As MensagemSolicitacaoRecepcao) As MensagemSolicitacaoRetorno
    

    Até ai tudo bem, só que ao testar o serviço gera o seguinte erro: O tipo 'Projeto.NFC.Layout.MensagemSolicitacaoRecepcao' não pode ser serializado. Considere marcá-lo com o atributo DataContractAttribute e marcar todos os membros que deseja serializar com o atributo DataMemberAttribute. Consulte a documentação do Microsoft .NET Framework para obter outros tipos suportados.

    Minha dúvida é a seguinte, tenho um projeto onde onde eu disponibilizo seus métodos pelo WCF esse projeto utiliza a biblioteca Projeto.NFC.Layout com os objetos "MensagemSolicitacaoRecepcao" e  "MensagemSolicitacaoRetorno" elas tem heranças de outras objetos, nisso eu devo de colocar nesses métodos da biblioteca os atributo de contrato "<OperationContract()> " para que o serviço seja totalmente disponibilizado ?

    At,

    Max Porto

    quinta-feira, 11 de julho de 2013 12:38

Respostas

  • Olá,

        Todos os objetos (classes) a serem serializados, ou seja todos os objetos que forem transferidos pelo WCF devem estar definidos como DataContract e seu metodos como DataMember pois é atraves desses atributos que o framework converte os objetos em um pacote de dados para trasmitir pela rede (que pode variar entre xml, binario, json conforme o seu serviço).

       Isso vale para heranças e objetos associados...


    Microsoft Community Contributor

    • Marcado como Resposta Maxjv quinta-feira, 11 de julho de 2013 16:51
    quinta-feira, 11 de julho de 2013 16:19
    Moderador

Todas as Respostas

  • Olá,

        Todos os objetos (classes) a serem serializados, ou seja todos os objetos que forem transferidos pelo WCF devem estar definidos como DataContract e seu metodos como DataMember pois é atraves desses atributos que o framework converte os objetos em um pacote de dados para trasmitir pela rede (que pode variar entre xml, binario, json conforme o seu serviço).

       Isso vale para heranças e objetos associados...


    Microsoft Community Contributor

    • Marcado como Resposta Maxjv quinta-feira, 11 de julho de 2013 16:51
    quinta-feira, 11 de julho de 2013 16:19
    Moderador
  • Rui, obrigado pela resposta

    quinta-feira, 11 de julho de 2013 16:50