O que é a WCF RIA services?

Odeio o site da MSDN para os serviços da WCF RIA. Não diz O que é, diz apenas o que faz. Diz O que pode alcançar, mas não diz Por que preciso dele.

por exemplo:

" 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".

Bem, não significa muito para mim.

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.

Author: Aliostad, 2010-09-10

2 answers

A RIA services é uma tecnologia do lado do servidor que gera automaticamente objetos do lado do cliente (Silverlight) que cuidam da comunicação com o servidor para você e fornecem validação do lado do cliente.

O objecto principal dentro de um serviço da RIA é um DomainService, normalmente a LinqToEntitiesDomainService Isso Está ligado a um modelo de Linqtoentidades.

O mais importante a lembrar nos serviços da RIA é que é um truque sofisticado de construção. Quando você cria um serviço de domínio e compile a sua solução, uma representação do lado do cliente do seu serviço de domínio é gerada. Esta representação do lado do cliente tem a mesma interface. Suponha que cria um serviço de domínio do servidor 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).
Quando acabares de editar, liga-me. Quanto à validação, pode decorar os seus objectos do lado do servidor com atributos de validação a partir do 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.
 99
Author: Ronald Wildenberg, 2010-09-12 22:07:00
As últimas notícias: os Serviços da WCF RIA estão mortos.

Http://blogs.msmvps.com/deborahk/who-moved-my-cheese-ria-services/

Se quiser usar os Serviços RIA, eles foram de fonte aberta:

Http://www.openriaservices.net/blog/posts/

 8
Author: user8128167, 2014-11-21 22:47:44