2013-02-13 3 views
0

Je veux lire des sites Web (titel) dans un sitecollection dans Sharepoint 2010 (par svc). Je reçois le listinfo par "listdata.svc" (http://www.xxx/websites/Web1Site/_vti_bin/Listdata.svc). Comment je reçois les sites Web? Je suis à la recherche d'une bonne source sur l'utilisation de wcf par sharepoint. merci.obtenir des sites Web dans Sharepoint sitecollection par wcf

PS .: voici mon code actuel:

  c_1steWebsitesammlungDataContext dataContext = new c_1steWebsitesammlungDataContext 
       (new Uri("http://www.xxx/websites/Web1Site/_vti_bin/listdata.svc/")); 

      dataContext.Credentials = CredentialCache.DefaultNetworkCredentials; 

      var result = from items in dataContext.BW_ScoreList01 select new 
      { Name = items.NrFrage, items.Fragetext, items.Antwort1Wahl0 }; 

      DataTable dt = new DataTable("myTable"); 
      DataColumn column; 
      DataRow row; 

      column = new DataColumn(); 
      //column.DataType = System.Type.GetType("String"); 
      column.ColumnName = "NrFrage"; 
      dt.Columns.Add(column); 

      column = new DataColumn(); 
      //column.DataType = System.Type.GetType("String"); 
      column.ColumnName = "Fragetext"; 
      dt.Columns.Add(column); 

      column = new DataColumn(); 
      //column.DataType = System.Type.GetType("String"); 
      column.ColumnName = "Antwort1Wahl0"; 
      dt.Columns.Add(column); 

      string a; 


      foreach (var item in result) 
      { 
       row = dt.NewRow(); 
       a = item.Name.ToString(); 
       row["NrFrage"] = a; 
       a = item.Fragetext.ToString(); 
       row["Fragetext"] = a; 
       a = item.Antwort1Wahl0.ToString(); 
       row["Antwort1Wahl0"] = a; 
       dt.Rows.Add(row); 
      } 

      dataGridView.DataSource = dt; 

Répondre

0

est l'objet SPSite une option pour vous? Vous pouvez ajouter une référence à Microsoft.Sharepoint et construire l'objet en utilisant l'URL du site.

+0

Je veux travailler avec webservice, pas de modèle d'objet. – Rotaney

+0

ok, je pense que vous pouvez regarder le service Web Webs.asmx à partir de WSS 3.0, qui semble être le même dans SP2010 ... http://msdn.microsoft.com/en-us/library/websvcwebs .webs.getwebcollection (v = office.14) .aspx – pekoponian

0

Je pense que vous n'utilisez pas le bon service - si le but est d'obtenir une liste de Sites (sites Web) dans une collection particulière, le service websvcsites est celui que vous devez utiliser.

http://msdn.microsoft.com/en-us/library/websvcsites(v=office.14).aspx

Remarque une chose - lorsque vous travaillez avec WCF, vous devez vous assurer que vous êtes dans le contexte du site sinon les autorisations peuvent être un problème. Cela est vrai même dans le modèle objet - obtenir tous les SPWebs sous un site peut échouer si le compte utilisé n'a pas de permssions à l'un d'entre eux.

Questions connexes