Pergunta

Estou tentando enviar meu modelo de domínio para uma API de serviço WCF e gostaria de ter algumas ideias sobre técnicas de carregamento lento com esse tipo de configuração.

Alguma sugestão ao adotar essa abordagem?


quando implementei essa técnica e entrei em meu aplicativo, pouco antes de o servidor retornar minha lista, ele atingiu o get de cada propriedade que deveria ser carregada lentamente ...Carregamento tão ansioso.Você poderia explicar esse problema ou sugerir uma resolução?

Editar:Isto parece você pode usar o atributo XMLIgnore para que ele não seja visualizado durante a serialização.ainda estou lendo sobre isso

Foi útil?

Solução

Quanto a qualquer arquitetura remota, você deve evitar carregar um gráfico de objeto completo "no fio" de maneira descontrolada (a menos que você tenha um número trivialmente pequeno de objetos).

O Artigo da Wikipédia tem as técnicas padrão praticamente resumidas (e em C#.também!).Usei fantasmas e detentores de valor e eles funcionam muito bem.

Para implementar esse tipo de técnica, certifique-se de separar estritamente as preocupações.No servidor, as classes de implementação do contrato de serviço devem ser os únicos bits do código que funcionam com contratos de dados.No cliente, a camada de acesso ao serviço deve ser o único código que funciona com os proxies.

Camadas como essa permitem ajustar a maneira como o serviço é implementado de forma relativamente independente das camadas da UI que chamam o serviço e da camada de negócios que está sendo chamada.Também lhe dá meia chance de teste de unidade!

Outras dicas

Não faça carregamento lento em uma interface de serviço.Defina DTOs explícitos e consuma-os como seus contratos de dados no WCF.

Você pode usar o NHibernate (ou outros ORMs) para buscar corretamente os objetos necessários para construir os DTOs.

Você poderia tentar usar algo baseado em REST (por exemplo, Serviços de dados ADO.NET) e envolva-o de forma transparente no código do cliente.

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