サンドボックス ソリューション内のアセンブリが展開される場所
このトピックは、サンドボックス ソリューション 内のアセンブリが、いつ、どのように展開されるかを説明します。
最終更新日: 2011年11月17日
適用対象: SharePoint Foundation 2010
サンドボックス ソリューション がサーバーのファイル システムにファイルを展開できない場合、アセンブリがサンドボックス ソリューションのどこに展開され、永続化されているかが問題となります。
注意
Microsoft Visual Studio で開かれた、サンドボックス ソリューション 内の .package ファイルの内容は、グローバル アセンブリ キャッシュがサンドボックス ソリューションでのアセンブリの展開ターゲットであることを示しています。ただし、このトピックで明らかなように、これは事実ではありません。
サンドボックス ソリューションの展開と永続性
サンドボックス ソリューション内のアセンブリは、ソリューション パッケージ (.wsp ファイル) に含まれ、そのパッケージはサイト コレクションのソリューション ギャラリーに展開されます。ユーザーがサンドボックス ソリューションから Web パーツを含むページを表示するときなど、サンドボックス ソリューションが初めてアクセスされるときに、ソリューション内のすべてのアセンブリがギャラリー内のパッケージから抽出され、セキュリティで保護された要求を処理しているサーバーのファイル システムにコピーされます。その場所は C:\ProgramData\Microsoft\SharePoint\UCCache です。このサービスの実行可能ファイルは、SPUCHostService.exe です。セキュリティで保護された要求を処理するサーバーは、初回 HTTP 要求を処理するフロントエンド Web サーバーである必要はありません。その代わりに、Microsoft SharePoint Foundation Sandboxed Code Service を、ファーム内のバック エンド アプリケーション サーバーで実行することができます。セキュリティで保護されたユーザープロセス (SPUCWorkerProcess.exe) は、ファイル システムに何もコピーできないことから、コピーは、Microsoft SharePoint Foundation Sandboxed Code Service で行われます。
サンドボックス ソリューションのアセンブリは、恒久的にファイル キャッシュに存在するわけではありません。ソリューションにアクセスしたユーザー セッションが終了したとき、アセンブリは短期間のみキャッシュに存在し、別のユーザー セッションがそれらにアクセスしたとき、そこから、再度、読み込まれます。アセンブリがアクセスされない場合、最終的には、サーバーの使用率と、アセンブリが最後にアクセスされてどれだけの時間が経過したかを考慮して、Microsoft 独自のアルゴリズムに従って削除されます。サンドボックス ソリューションがその後、使用された場合は、アセンブリは、再度、抽出されて UCCache にコピーされます。
注意 |
---|
管理者、開発者、およびサードパーティのコードは、UCCache への追加、削除、あるいは読み込みの操作をしてはなりません。UCCache は、SharePoint インフラストラクチャによってのみアクセスされるようにする必要があります。 |
関連項目
概念
サンドボックス ソリューションをインストール、アンインストール、およびアップグレードする
サンドボックス ソリューションを開発するためのベスト プラクティス