O que é a WCF RIA services?
por exemplo:
Bem, não significa muito para mim." um problema comum ao desenvolver um a solução N-tier RIA está a coordenar lógica de aplicação entre o meio nível e nível de apresentação".
Os Serviços da RIA resolvem este problema proporcionar um quadro componentes, Ferramentas, e serviços que fazem a aplicação lógica no servidor disponível para o Cliente RIA sem exigir que você duplicar manualmente essa programação logico. Você pode criar um cliente RIA está ciente das regras de negócio e saiba que o cliente é automaticamente actualizado com a lógica de nível médio mais recente sempre que a solução é re-compilado."Então, faz download de DLLs do servidor? É um metadado que descreve as regras para a data? Então o que é? É só um adicional VS 2010 para o RAD? Ou é uma tecnologia em cima da WCF ou debaixo dela ou o quê? Onde mora? Com dados, com servidor, o quê? Agradeço que me possa resumir isto, por favor.
2 answers
O objecto principal dentro de um serviço da RIA é um DomainService
, normalmente a LinqToEntitiesDomainService
Isso Está ligado a um modelo de Linqtoentidades.
CustomerService
com um método IQueryable<Customer> GetCustomersByCountry
. Quando você constrói sua solução, uma classe é gerada dentro do seu projeto Silverlight chamado CustomerContext
que tem um método GetCustomersByCountryQuery
. Você pode agora usar este método no cliente como se estivesse chamando-o no servidor.
As actualizações, inserções e apagamentos seguem um padrão diferente. Quando criar um serviço de domínio, poderá indicar se deseja activar a edição. Os métodos correspondentes para atualizar/Inserir/Excluir são então gerados no serviço de domínio do servidor. No entanto, a parte do lado do cliente não tem estes métodos. O que você tem em seu CustomerContext
é um método chamado SubmitChanges
. Então, como é que isto funciona?
- para actualizações, basta actualizar as propriedades dos clientes existentes (que recuperou via
GetCustomersByCountryQuery
). - para inserções, use
CustomerContext.Customers.Add(new Customer(...) {...})
. - para apaga, usa
CustomerContext.Customers.Remove(someCustomer)
.
System.ComponentModel.DataAnnotations
espaço de nomes. Mais uma vez, quando você constrói seu projeto, o código de validação é gerado automaticamente para os objetos correspondentes do lado do cliente.
Espero que esta explicação te ajude um pouco mais.
Http://blogs.msmvps.com/deborahk/who-moved-my-cheese-ria-services/
Se quiser usar os Serviços RIA, eles foram de fonte aberta: