babsevensix

Il blog di Alberto
posts - 94, comments - 81, trackbacks - 11

WPF e Silverlight – Ancora WCF

Come abbiamo visto WCF è disponibile dal Framework 3.0 di .Net

Espone servizi con 4 diversi tipi di protocollo:

  • http
  • TCP
  • MSMQ
  • Named Pipe

Si basa su 3 semplici concetti:

1.       Cosa voglio comunicare (Contract) che si divide in :

·         OperationContract : metodi del servizio utilizzabili dal client

·         DataContract : strutture dati (classi enum e struct) condivisi con il client

·         DataMember : Proprietà pubbliche del servizio

2.       Come voglio comunicare (Binding)

3.       Dove voglio sia accessibile (Address)

 

Abbiamo quindi i seguenti attributi da tener presente :

[ServiceContract] =>Indica che l’interfaccia è il contratto

[OperationContract] =>Le operazioni possibili

[DataContract] =>I dati

[DataMember]=>Si definiscono i membri del dato

Ovviamente i DataContract devono essere oggetti serializzabili!!!!!!

 

Un servizio WCF può essere configurato come servizio di sistema

Un servizio WCF può essere ospitato da IIS

Un servizio WCF può essere inserito all’interno di una applicazione ASP.NET (WebService)

 

 

E infine abbiamo WCF – ADO.NET Data Services, dove abbiamo ADO.NET Entity Framework come modello per l’accesso ai dati utilizzato dal servizio e possiamo interrogare un nostro db tramite query string via URI:

CustomersBindingSource.DataSource = NorthwindContext.Execute(Of Orders)(new uri(“/Customers(‘ALFKI’)/Orders?orderby=OrderDate”, UriKind.Relative))

 

O tramite LINQ to Data Services

 

NorthwindContext = new NORTHWNDEntities(new Uri(“http://localhost:1552/NorthwindWebDataService.svc”))

Dim categorie = From cat in NorthwindContext.Categoria _

                Order By cat.CategoryName _

                Select cat

 

E abbiamo dei metodi specifici per le operazioni CRUD.

Print | posted on martedì 6 aprile 2010 04:51 | Filed Under [ WPF e Silverlight ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET