サイトコレクションがホストされているホストヘッダーを取得する方法

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/37204

  •  09-12-2019
  •  | 
  •  

質問

例えば私のサイトコレクション構造は次のとおりです。

http://testserver1.com/sites/sitecollection1

href="http://testserver1.com/site/sitecollection2" rel="nofollow"> http://testserver1.com/site/sitecollection2

http://testserver1.com/sitecollection3

href="http://testserver1.com/team/sitecollection4" rel="nofollow">>> http://testserver1.com/team/sitecollection4

http://testserver1.com (ホストヘッダー)を取得したいです。Object Modelを使用してそれを行うにはどうすればいいですか?これらのサイトコレクションにも代替アクセスマッピングが設定されている場合は問題がありますか?

役に立ちましたか?

解決

Host Nameを取得するためにSPContext.Current.Site.HostNameプロパティを使用できますか?

通常、SPContext.Current.Site.Urlを使用して、現在のWeb要求のサイトコレクション内のルートWebサイトのURLを返すことができます。現在のWebサイトのコンテキストにSPContext.Current.Web.Url. を使用したい場合

他のヒント

「ホストヘッダー」と言うと、サイトコレクションが属するWebアプリケーションを参照していると思います。それを念頭に置いて、SPWebApplicationの alternateurls コレクションを使用して、そのWebアプリケーションに関連付けられているホストヘッダーを取得できます。

単一のWebアプリケーションに関連付けられている複数のURLを持つことが可能ですので、必要なホストヘッダーを取得/検索するには、このコレクションを繰り返す必要があります。例えば:

SPAlternateUrlCollection allUrls = SPContext.Current.Site.WebApplication.AlternateUrls;
foreach (SPAlternateUrl url in allUrls)
{
    // Do something with each url.Uri.ToString()
}
.

このコードを利用するには、 Microsoft.SharePoint.Administration への参照を追加する必要があることに注意してください。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top