-2

これがばかげた質問であることは理解していますが、MSDN にはネットワークからアクセスできず、"Server Error: 502 - Web server received an invalid response while acting as a gateway or proxy server."ここに座って親指をいじることもできません。

私は 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キャッシュftw。

記録のために、Sharepoint の「サイト」ではなく、IIS サイトのルートを指していました。SharePoint の用語を混乱させていました。

4

1 に答える 1

3

トップレベルの Web サイトとそのすべてのサブサイトを含む、Web アプリケーション内のサイトのコレクションを表します。各 SPSite オブジェクト、またはサイト コレクションは、Web アプリケーション内のすべてのサイト コレクションのコレクションで構成される SPSiteCollection オブジェクト内で表されます。

継承階層

System.Object
Microsoft.SharePoint.SPSite

名前空間: Microsoft.SharePoint

アセンブリ: Microsoft.SharePoint (Microsoft.SharePoint.dll 内)

サンドボックス ソリューションで利用可能: はい

SharePoint Online で利用可能

[SubsetCallableTypeAttribute] [ClientCallableTypeAttribute(Name = "Site", ServerTypeId = "{E1BB82E8-0D1E-4e52-B90C-684802AB4EF6}")] public class SPSite : IDisposable

備考

ASP.NET ページ上の特定のサイト コレクション、またはコンソール アプリケーション内の特定のサイト コレクションの SPSite オブジェクトをインスタンス化するには、次のように SPSite コンストラクターを使用します。 C# VB

SPSite oSiteCollection = new SPSite("Absolute_URL");

次のように、ASP.NET アプリケーション内で、SPContext クラスの Site プロパティを使用して、現在のサイト コレクションを表す SPSite オブジェクトを返すことができます。 C#

SPSite oSiteCollection = SPContext.Current.Site;

SPWebApplication クラスの Sites プロパティを使用して、SharePoint Web アプリケーションのサイト コレクションのコレクションを表す SPSiteCollection オブジェクトを返します。インデクサーを使用して、コレクションから 1 つのサイト コレクションを返します。たとえば、サイト コレクションのコレクションが oSiteCollections という名前の変数に割り当てられている場合、C# では oSiteCollections[index] を、Visual Basic では oSiteCollections(index) を使用します。index は、表示名またはサイト コレクションのインデックス番号です。コレクション。

特定のオブジェクトは IDisposable インターフェイスを実装しており、これらのオブジェクトが不要になった後はメモリ内に保持しないようにする必要があります。独自の SPSite オブジェクトを作成する場合は、Dispose メソッドを使用してオブジェクトを閉じることができます。代わりに、次のように、.NET Framework 共通言語ランタイム (CLR) がサイト コレクションの格納に使用されるメモリを自動的に解放するように、using ステートメントを実装することもできます。 C# VB

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

ただし、オブジェクトが Web パーツの GetContextSite メソッドによって提供される場合など、共有リソースへの参照がある場合は、どちらのメソッドも使用してオブジェクトを閉じないでください。共有リソースでいずれかの方法を使用すると、アクセス違反エラーが発生します。共有リソースへの参照があるシナリオでは、代わりに Microsoft SharePoint Foundation またはポータル アプリケーションでオブジェクトを管理します。

適切なコーディング プラクティスの詳細については、オブジェクトの破棄を参照してください。

重要

Windows SharePoint Services 3.0 のインフラストラクチャ更新プログラム (KB951695) をインストールすると、偽装が中断されている間に SharePoint オブジェクト モデルを呼び出すと、カスタム ソリューションが失敗することがあります。Windows 認証を使用し、コードがインターネット インフォメーション サービス (IIS) ワーカー プロセスから SharePoint オブジェクト モデルを呼び出す場合、要求は呼び出し元のユーザーの ID を偽装する必要があります。SharePoint Foundation は ASP.NET を構成して、呼び出し元のユーザーを自動的に偽装しますが、Windows API の RevertToSelf 関数を呼び出したり、System.Security. Principal.WindowsIdentity.Impersonate メソッドを使用し、ユーザー トークン パラメーターの値として IntPtr.Zero を渡します。コードが明示的に自分自身に戻らない場合でも、仮想パス プロバイダーを実装する場合など、自己に戻った後に ASP.NET によって呼び出される可能性があります。コードが呼び出し元のユーザーを偽装していないと、正しく機能しない可能性があります。

スレッドセーフ

この型の public static (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.
于 2012-05-24T14:33:11.670 に答える