現在の共有ポイントサイトのルートディレクトリのローカルパスをプログラムで判別する方法はありますか?どのように私のsharepointサイトのルートディレクトリのローカルパスを取得できますか?
ベスト視点
オリバーハナッピ
現在の共有ポイントサイトのルートディレクトリのローカルパスをプログラムで判別する方法はありますか?どのように私のsharepointサイトのルートディレクトリのローカルパスを取得できますか?
ベスト視点
オリバーハナッピ
Webアプリケーションの物理的なローカルパスは、サイトのIisSettingsコリレータを照会することによって判断できます。このような
:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
namespace WSStest
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://<YOURSITE>"))
{
string localPath = site.WebApplication.IisSettings[SPUrlZone.Default].Path.ToString();
Console.WriteLine("Local path: " + localPath);
}
}
}
}
siteCollection.WebApplication.IisSettings [SPUrlZone.Default] .Path。
私は、私は(上・ザ・マネー、基本的には)マグヌスコードに追加したいウォッチアウトのカップルを持っています。まず、明示的にサイトを開くのではなく、SPContext.Current.Siteを使用するほうがよいでしょう(*現在のサイトを探しているからです)。 Second:SPUrlZone.Defaultを想定しないでください。拡張ゾーン用のURL経由で実際にアクセスし、実際には拡張Webのサイト(IIS)パスが必要な場合は、上記のコードで正しいパスが返されません。代わりに、SPWebApplicationのAlternateUrlsプロパティを参照して、呼び出し元のゾーンを確認し、代わりに使用します。 –