絶対URLからSPSiteを取得する

投稿者: | 2009年9月22日

絶対URLからSPSiteを取得する方法です。

SPSiteのコンストラクタの引数に、絶対URLを渡すとSPSiteが取得できます。

 

管理パスを定義している場合は、SharePointが自動的に管理パスかどうかを判断し、適切なSPSiteを返してくれます。
例えば、http://test.co.jp直下のサイトコレクションの下位にtest1という管理パスを定義し、そこにサイトコレクションを作成した場合、以下のコードではtest1のサイトコレクションを取得します。

サイトコレクションが特定できれば、後半のURLは存在しないコンテンツを指していても問題ありません。
以下のコードでは、test2という存在しないサブサイトを指しています。
このコードの結果は、http://test.co.jpのサイトコレクションが取得できます。

指定の絶対URLでSPSiteが取得できない場合、FileNotFoundExceptionが発生します。