【问题标题】:get websites in Sharepoint sitecollection by wcf通过 wcf 在 Sharepoint 站点集合中获取网站
【发布时间】:2013-02-13 08:02:01
【问题描述】:

我想在 Sharepoint 2010(通过 svc)的站点集合中读出网站(标题)。我通过“listdata.svc”(http://www.xxx/websites/Web1Site/_vti_bin/Listdata.svc)获得列表信息。我如何获得网站?我正在寻找有关通过 sharepoint 使用 wcf 的良好资源。 谢谢。

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;

【问题讨论】:

    标签: c# wcf sharepoint service svc


    【解决方案1】:

    您可以选择 SPSite 对象吗?您可以添加对 Microsoft.Sharepoint 的引用,并使用站点 url 构造对象。

    【讨论】:

    【解决方案2】:

    我认为您使用了错误的服务 - 如果目标是获取特定集合中的站点(网站)列表,那么您应该使用 websvcsites 服务。

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

    请注意一件事 - 当您使用 WCF 时,您必须确保您处于该站点的上下文中,否则权限可能会成为问题。即使在对象模型中也是如此 - 如果正在使用的帐户没有对其中之一的权限,则获取站点下的所有 SPWeb 可能会失败。

    【讨论】:

      猜你喜欢
      • 2012-04-18
      • 2020-05-25
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多