Use domain Services as Service References

Estic des de fa temps fent una aplicació amb Silverlight. Ja n’he parlat en altres posts d’aquesta tecnologia que em sembla perfecte per poder fer les aplicacions web més agradables a l’usuari sense sortir de l’entorn de .Net.

Aquesta setmana però m’he trobat amb la necessitat de tenir que afegir un servei Wcf que em servís els usuaris de la meva aplicació web. Tenia la opció d’afegir un simple Wcf Service habilitat per silverlight però he pensat que seria una bona oportunitat per utilitzar els serveis de domini (Domain Services) i així tenir-hi el primer contacte.

Els serveis de domini son serveis WCF que exposen operacions com a serveis i que al mateix moment poden treballar directament sobre una base de dades. El Domain Service és crear una clase, ASP.NET crea de forma automàtica un servei WCF a la següent direcció:

http://localhost:XXXX/Services/WebApplication1-DomainServices1.svc

WebApplication és l’aplicació web i DomainServices és el nom del servei de domini que s’ha creat. DomainService1 ha d’existir al root de la web, d’altre manera el servei WCF no es crea.

En el moment de voler utilitzar aquest servei des d’una aplicació client pot no ser trivial. En aquest link s’explica molt bé com fer ús del domain service com un WCF Service References. Per aconseguir posar una referència del servei el que hem de fer és descarregar-nos el WCF RIA toolkit i instal·lar una llibreria que necessitarem referenciar a la nostra aplicació web que ens serveix el servei de domini.

Afegir al web.config:
<configSections>
<sectionGroup name="system.serviceModel">
<section name="domainServices" type="System.ServiceModel.DomainServices.Hosting.DomainServicesSection, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowDefinition="MachineToApplication" requirePermission="false" />
</sectionGroup>
</configSections>


<system.serviceModel>
<domainServices>
<endpoints>
<add name="soap" type="Microsoft.ServiceModel.DomainService.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainService.Hosting" />
</endpoints>
</domainServices>
<system.serviceModel>
Un cop hem instal·lat el WCF RIA toolkit afegim la referència a Microsoft.ServiceModel.DomainServices.Hosting que trobem Microsoft SDKs/RIA Services/v1.0/Toolkit/Libraries folder

Després ja podrem afegir una referència de servei al nostre servei de domini sense problemes a l’aplicació client. Recordeu que si voleu les accions asincrones heu de configurar la referència des de l’aplicació client.

RIA Services:

http://www.silverlight.net/getstarted/riaservices/

http://msdn.microsoft.com/en-us/library/ee707344(v=vs.91).aspx

Anuncis

Un pensament sobre “Use domain Services as Service References

  1. Retroenllaç: Cannot find ServiceReferences.ClientConfig | My freelancer life

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

S'està connectant a %s