SPSite class

表示 Web 應用程式,包括最上層的網站和所有子網站中的網站集合。在 Web 應用程式中的所有網站集合的集合所組成的SPSiteCollection物件中的表示每個SPSite物件或網站集合。

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.SPSite

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'宣告
Public Class SPSite _
    Implements IDisposable
'用途
Dim instance As SPSite
public class SPSite : IDisposable

備註

若要在 ASP.NET 頁面中,在特定網站集合或特定網站集合中的主控台應用程式的SPSite物件具現化,使用SPSite建構函式如下所示:

Dim oSiteCollection As New SPSite("Absolute_URL")
SPSite oSiteCollection = new SPSite("Absolute_URL");

在 ASP.NET 應用程式,您可以使用SPContext類別的Site屬性來傳回SPSite物件,表示目前的網站集合,如下所示:

Dim oSiteCollection As SPSite = SPContext.Current.Site
SPSite oSiteCollection = SPContext.Current.Site;

您可以使用SPWebApplication類別的Sites屬性,傳回SPSiteCollection物件,表示在 SharePoint Web 應用程式中的網站集合的集合。若要從集合傳回單一網站集合使用索引子。例如,如果網站集合的集合指派給名為oSiteCollections的變數時,使用在 C# 的oSiteCollections[index]或 Visual Basic,其中index是顯示名稱或索引編號集合中的網站集合中的oSiteCollections(index) 。

某些物件實作IDisposable介面,並且您必須避免之後不再需要保留這些物件在記憶體中。如果您建立自己的SPSite物件,您可以使用Dispose方法來關閉物件。您可以也改為實作using陳述式,使.NET Framework 通用語言執行階段 (CLR) 會自動釋放的記憶體,用來儲存網站集合,如下所示:

Using oSiteCollection = New SPSite("Absolute_URL")
    ...
End Using
using (SPSite oSiteCollection = new SPSite("Absolute_URL")
{
    ...
}

不過,如果您有共用的資源,例如當物件由 Web 組件中的GetContextSite方法的參考請勿使用任何一種方法來關閉物件。使用共用資源上的任何一種方法將導致發生存取違規錯誤。在案例中具有共用資源的參考,而是讓Microsoft SharePoint Foundation或入口網站的應用程式管理該物件。

如需有關良好的程式碼撰寫方式的詳細資訊,請參閱Disposing Objects

重要

如果您安裝Infrastructure Update for Windows SharePoint Services 3.0 (KB951695)時,如果它們呼叫 SharePoint 物件模型,模擬暫停執行時,可能會失敗的自訂解決方案。如果您使用 Windows 驗證,您的程式碼呼叫 SharePoint 物件模型,從網際網路資訊服務 (IIS) 背景工作處理序,要求必須模擬呼叫使用者的識別。SharePoint Foundation設定為自動,模擬呼叫使用者的 ASP.NET,但如果您暫止模擬-例如,藉由呼叫RevertToSelf函式的 Windows API,或藉由呼叫System.Security.Principal.WindowsIdentity.Impersonate方法,並為使用者權杖參數值傳遞IntPtr.Zero ,您的程式碼可能意外地失敗。甚至如果以供自我明確地還原您的程式碼,它可能由呼叫 ASP.NET 就會還原成本身之後,例如時會實作虛擬路徑提供者。如果您的程式碼並不會模擬呼叫的使用者,它可能無法正確運作。

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

請參閱

參照

SPSite members

Microsoft.SharePoint namespace