2009-06-10 15 views

risposta

9

Il modo migliore per un'applicazione stand-alone per leggere i dati da un sito Sharepoint da fuori azienda è attraverso Sharepoint Web Services. Quella pagina ha un riepilogo di alto livello di quali servizi sono disponibili e cosa fa ognuno di essi. In Visual Studio, è possibile connettersi a questi creando Web References per i servizi desiderati nella propria applicazione.

2

Probabilmente si desidera utilizzare il servizio Lists.asmx. Dalla mia memoria, dovresti essere in grado di fare riferimento ai servizi sharepoint da http: ///_vti_bin/Lists.asmx. Esistono servizi per l'accesso ai dati, gestione sito/pagina, sicurezza, ecc.

Come impostazione predefinita, se si dispone di un elenco su una pagina denominata HR su un server denominato MyServer, sarà http://MyServer/HR/_vti_bin/Lists.asmx. Ogni nuovo sito avrà questi servizi Web creati automaticamente.

È inoltre possibile fare riferimento al libro SAMS "Microsoft Sharepoint 2007 Sviluppo". L'ho usato per progetti precedenti e aiuta.

2

Lists.asmx è probabilmente la soluzione migliore. Se si è certi che il sito Web ASP.NET vivrà sullo stesso server di SharePoint, è possibile utilizzare il modello a oggetti di SharePoint.

Si noti che gli elenchi di SharePoint non sono uguali alle tabelle di database. Cose come vincoli di chiavi esterne, chiavi univoche, ecc. Non sono così affidabili in SharePoint.

liste di SharePoint forniscono un sacco di valore, ma che ha anche un costo per le cose sopra, più anche in termini di prestazioni.

0

Quindi, chi menzionerà l'XML ottuso che questi servizi restituiscono?

+0

Dopo aver lottato con l'XML che questo richiede la gestione, sono completamente d'accordo con il commento di Wyatt. Non esiste un modo semplice per consumare i dati di Sharepoint in un'applicazione dot net, diversamente da MS Access 2007. – Nick

+0

Potrebbe essere prolisso ma è documentato. –

1

Sono d'accordo con Rex M. Inoltre puoi aiutare te stesso con Linq to SharePoint per generare ed eseguire la query Ti consente di connetterti tramite WS o il modello Object, in modo da poterlo utilizzare all'interno o all'esterno del server WSS.

2

La domanda posta è buona. Tuttavia, le risposte sono ormai obsolete.

ci sono nuovi modi per fare quello che stai chiedendo:

  1. SharePoint 2010 ora supporta nativamente le operazioni CRUD su out-of-box un'interfaccia REST
  2. ADO.NET Data Services può essere utilizzato contro il resto endpoint e quindi le query LINQ sono possibili.
  3. jQuery può anche eseguire operazioni CRUD contro il servizio se si desidera un'applicazione ASP.NET client-only per eseguire il lavoro (ala senza livello di servizio).
  4. Utilizzando Microsoft.SharePoint.Linq (e SPMetal per generare un modello di entità da un sito SP) si può anche percorrere tale percorso.

C'è anche un modello a oggetti client.

set dei risultati possono essere sotto forma di XML, JSON, o AtomFeed

Guarda anche questi link per i dettagli del codice:

http://mydevexperience.wordpress.com/2011/06/25/how-to-query-sharepoint-data-source-using-ado-net-data-services/

http://mydevexperience.wordpress.com/2011/05/11/sharepoint-list-access-part-iii-how-to-access-sharepoint-windows-communication-foundation-wcf-rest-representational-state-transfer-services-using-jquery-entirely-client-side-only/

Problemi correlati