получить веб-сайты в коллекции сайтов Sharepoint с помощью wcf

Я хочу прочитать веб-сайты (титры) в коллекции сайтов в Sharepoint 2010 (по svc). Я получаю информацию о списке с помощью "listdata.svc" (http://www.xxx/websites/Web1Site/_vti_bin/Listdata.svc). Как я получаю веб-сайты? Я ищу хороший источник об использовании wcf по sharepoint. Благодарю.

PS: это мой текущий код:

            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;

person Rotaney    schedule 13.02.2013    source источник


Ответы (2)


Подходит ли вам объект SPSite? Вы можете добавить ссылку на Microsoft.Sharepoint и создать объект, используя URL-адрес сайта.

person pekoponian    schedule 13.02.2013
comment
хорошо, я думаю, вы можете посмотреть на веб-сервис Webs.asmx из WSS 3.0, который, похоже, такой же в SP2010... msdn.microsoft.com/en-us/library/ - person pekoponian; 13.02.2013

Я думаю, вы используете не тот сервис — если цель состоит в том, чтобы получить список сайтов (веб-сайтов) в определенной коллекции, вам следует использовать сервис websvcsites.

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

Обратите внимание: когда вы работаете с WCF, вы должны убедиться, что находитесь в контексте сайта, иначе могут возникнуть проблемы с разрешениями. Это верно даже для объектной модели — получение всех SPWeb под сайтом может завершиться ошибкой, если используемая учетная запись не имеет прав доступа к одному из них.

person David Sterling    schedule 14.02.2013