Domanda

Qualcuno potrebbe confrontare e contrastare i servizi di riposo WCF rispetto ai servizi dati ADO.NET? Qual è la differenza e quando utilizzare quale?

Grazie,

Ray.

Modifica : grazie alla prima risposta, solo per dare un po 'di sottofondo su ciò che sto cercando di fare: ho un'app Web che ho intenzione di mettere nel cloud (un giorno), il DAL è costruito con ADO.NET Entity Framework. Inoltre, devo capire quale tecnologia di accesso ai dati del servizio Web si adatterebbe meglio al mio caso.

È stato utile?

Soluzione

Non sono sicuro di poter dare una risposta completa qui, ma ho trascorso molto tempo a PDC cercando di capirlo da solo, quindi ecco un passaggio ...

La risposta breve qui è che ADO.Net Data Services ha lo scopo di fornire un'interfaccia al framework ADO.Net (DataContext, Dataset, DataTables ecc ...) che si integra perfettamente con il web, usando URI e dati noti per indicare i tuoi dati. ADO.Net Data Services è pensato anche per la programmazione di ADO.Net nel cloud. I servizi cloud di Microsoft, "Azure", è una nuova piattaforma di programmazione cloud che verrà rilasciata nel prossimo futuro. Per ulteriori informazioni sui servizi cloud, vai a qui .

Una cosa interessante che ho scoperto su ADO.Net Data Services e sul cloud è che il DataContext sottostante che funge da provider per la tua origine dati può essere facilmente configurato per indirizzare la tua risorsa nel cloud, o , un database locale. Questo ti permette di cambiare il tuo DataContext senza cambiare alcun codice !!! (Ne sono rimasto impressionato se non si potesse dire)

I servizi di riposo WCF sono solo normali servizi WCF che hanno aggiunto funzionalità in modo da poter essere consumati in modo RESTful (URI vs URL, utilizzo di verbi HTTTP, utilizzo di diversi formati di trasferimento dati come JSON, YAML, ecc ... ). Quindi, ad esempio, se si disponesse di un servizio Web ticker incorporato in WCF, invece di richiedere al chiamante di utilizzare un'implementazione WSDL pesante e ASMX, è possibile utilizzare semplicemente la funzionalità Rest WCF per pubblicare quel servizio come servizio JSON e averlo consumato tramite AJAX senza dover puntare a una risorsa ASMX. Per ulteriori informazioni su WCF utilizzando il resto, consulta la Presentazione PDC

Altri suggerimenti

Grazie mille per l'intuizione! Per la mia app, ho intenzione di metterlo nel cloud e ho anche usato ADO.NET Entity Framework per costruire il mio DAL, quindi sembra che ADO.NET Data Services sia quello che devo scegliere.

  

Una cosa interessante che ho scoperto su ADO.Net Data Services e sul cloud è che il DataContext sottostante che funge da provider per la tua origine dati può essere facilmente configurato per indirizzare la tua risorsa nel cloud, O, un database locale . Questo ti permette di cambiare il tuo DataContext senza cambiare alcun codice !!! (Ne sono rimasto impressionato se non si potesse dire)

Potresti forse dire di più su questo punto riguardo a come ADO.NET Data Service + EF funzionerebbe nel cloud?

Se si desidera sviluppare e fornire un servizio incentrato sui dati, in alcuni casi è possibile ottenere molte funzionalità sia dallo starter rest del WCF che dal servizio dati WCF, poiché entrambe queste tecnologie di WCF possono fornire i dati in un Modo RESTful (ad es. Con contenuto indirizzabile con URL e formati standard di dati come xml e json). Entrambi forniscono anche una serie di classi .NET per gestire e gestire molte richieste di rete e Web come intercettori HTTP e cache.

Tuttavia, un vantaggio che il servizio dati WCF possiede ma non lo starter kit REST è che il servizio dati WCF può esporre i suoi dati sotto forma di oggetti entità .NET e in formati standard (questo è ottenuto dall'OData protocal). Quindi immagino che il servizio dati WCF ti darebbe prestazioni più versatili in molti scenari del mondo reale.

Una delle principali differenze tra i servizi dati ADO.Net e i servizi di riposo WCF è che i servizi REST sono leggeri e puoi personalizzare cosa ottenere scrivendo metodi / funzioni separati mentre i servizi dati ADO.Net sono più come un dump che ottieni tutto ... quindi per le applicazioni web e RIA, a mio avviso, i servizi WCF Rest sono la scelta migliore e ottimizzata ...

WCF Data Services (precedentemente noto come ADO.NET Data Services), http://msdn.microsoft.com/en-us/data/aa937697. aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top