SPSite类 - MSDN文档

时间:2012-05-24 14:31:03

标签: c# sharepoint msdn

我意识到这是一个愚蠢的问题,但无法从我的网络"Server Error: 502 - Web server received an invalid response while acting as a gateway or proxy server."访问MSDN,我不能只是坐在这里歪拇指。

我知道除了MSDN之外别无选择,而且我的本地Visual Studio帮助内容在这个类上没有任何内容。

请有人复制并粘贴Microsoft.Sharepoint SPSite类的条目,特别是构造函数,但整篇文章会很有用。 我收到一个FileNotFoundException,需要知道如何格式化URL属性。

如果你们中的任何一个人碰巧知道。

    public Dictionary<string, SPFolder> GetFolderCollection(string siteURL, string docLibraryName)
    {
        using (SPSite oSite = new SPSite(siteURL + ":23179"))
        {
            SPWeb oWeb = oSite.OpenWeb();
            SPList oList = oWeb.Lists[docLibraryName];

            SPFolderCollection oFolders = oList.RootFolder.SubFolders;

            foreach (SPFolder folder in oFolders)
            {
                foundFolders.Add(folder.Name, folder);
            }
            return foundFolders;
        }
    }

编辑:干杯,google cache ftw。

对于记录,我指的是IIS站点根目录,而不是Sharepoint“站点”。混淆了Sharepoint的术语。

1 个答案:

答案 0 :(得分:3)

  

表示Web应用程序中的站点集合,包括   顶级网站及其所有子网站。每个SPSite对象或站点   集合,在SPSiteCollection对象中表示   包含Web中所有网站集的集合   应用。

     

继承层次结构

     

System.Object的
  Microsoft.SharePoint.SPSite

     

命名空间:Microsoft.SharePoint

     

程序集:Microsoft.SharePoint(in   Microsoft.SharePoint.dll)

     

沙盒解决方案中提供:是

     

在SharePoint Online中可用

     

[SubsetCallableTypeAttribute] [ClientCallableTypeAttribute(Name =   “Site”,ServerTypeId =“{E1BB82E8-0D1E-4e52-B90C-684802AB4EF6}”)]   公共类SPSite:IDisposable

     

说明

     

为某个特定网站集实例化一个SPSite对象   ASP.NET页面,或控制台中的特定网站集   应用程序,使用SPSite构造函数如下:C#VB

     

SPSite oSiteCollection =新SPSite(“Absolute_URL”);

     

在ASP.NET应用程序中,您可以使用的是Site属性   SPContext类,用于返回表示当前的SPSite对象   网站集,如下:C#

     

SPSite oSiteCollection = SPContext.Current.Site;

     

使用SPWebApplication类的Sites属性返回   SPSiteCollection对象,表示站点的集合   SharePoint Web应用程序中的集合。使用索引器返回   来自该集合的单个网站集。例如,如果   网站集的集合被分配给名为的变量   oSiteCollections,在C#中使用oSiteCollections [index],或   Visual Basic中的oSiteCollections(索引),其中index是   显示名称或网站集的索引号   集合。

     

某些对象实现了IDisposable接口,您必须这样做   避免在这些对象不再存在后将其保留在内存中   需要。如果您创建自己的SPSite对象,则可以使用Dispose   关闭对象的方法。您也可以改为实现使用   语句使.NET Framework公共语言运行库(CLR)   自动释放用于存储站点的内存   集合如下:C#VB

     

使用(SPSite oSiteCollection = new SPSite(“Absolute_URL”){       ......}

     

但是,如果您有对共享资源的引用,例如何时   该对象由Web部件中的GetContextSite方法提供   不要使用任何一种方法来关闭对象。使用任何一种方法   共享资源导致发生访问冲突错误。在   您可以引用共享资源的场景   Microsoft SharePoint Foundation或您的门户网站应用程序管理   对象

     

有关良好编码实践的详细信息,请参阅处置   对象。

     

重要

     

如果安装Windows SharePoint Services的基础结构更新   3.0(KB951695),如果在模拟暂停时调用SharePoint对象模型,则自定义解决方案可能会失败。如果您使用Windows   身份验证和您的代码从一个调用SharePoint对象模型   Internet信息服务(IIS)工作进程,请求必须   冒充主叫用户的身份。 SharePoint Foundation   配置ASP.NET以自动模拟调用用户,但是   如果您暂停,您的代码可能会意外地工作或失败   模拟 - 例如,通过调用RevertToSelf函数   Windows API,或通过调用   System.Security.Principal.WindowsIdentity.Impersonate方法和   将IntPtr.Zero作为用户标记参数的值传递。即使   你的代码没有明确地恢复为self,它可能会被调用   ASP.NET恢复自我后,例如在实现时发生   虚拟路径提供者;如果您的代码没有模拟调用   用户,它可能无法正常运行。

     

线程安全

     

任何公共静态   (在Visual Basic中共享)此类型的成员是线程安全的。任何   实例成员不保证是线程安全的。

构造

    Name    Description
Public method   SPSite(Guid)    Initializes a new instance of the SPSite class based on the specified ID for a site collection.
Public method   SPSite(String)  Initializes a new instance of the SPSite class based on the specified URL.
Public method   SPSite(Guid, SPUrlZone)     Initializes a new instance of the SPSite class based on the specified site collection GUID and URL zone.
Public method   SPSite(Guid, SPUserToken)   Initializes a new instance of the SPSite class based on the specified site collection GUID and user token.
Public method   SPSite(String, SPUserToken)     Initializes a new instance of the SPSite class based on the specified absolute URL and user token.
Public method   SPSite(Guid, SPUrlZone, SPUserToken)    Initializes a new instance of the SPSite class based on the specified site collection GUID, URL zone, and user token.