문제

예를 들어 내 사이트 모음 구조는 다음과 같습니다.

http://testserver1.com/sites/siteCollection1

http://testserver1.com/sites/siteCollection2

http://testserver1.com/sitecollection3

http://testserver1.com/team/siteCollection4

(호스트 헤더) (호스트 헤더)를 얻으려고합니다.객체 모델을 사용하여 어떻게 할 수 있습니까?이러한 사이트 모음에서 구성되는 대체 액세스 매핑이 있으면 문제가 있습니까?

도움이 되었습니까?

해결책

SPContext.Current.Site.HostName 속성을 사용하여 호스트 이름을 얻을 수 있습니까?

일반적으로 SPContext.Current.Site.Url를 사용하여 현재 웹 요청의 사이트 모음에서 루트 웹 사이트의 URL을 반환 할 수 있습니다.현재 웹 사이트의 컨텍스트를 원한다면 SPContext.Current.Web.Url. 를 사용하십시오.

다른 팁

"호스트 헤더"라고 말하면 사이트 모음이 속한 웹 응용 프로그램을 참조하고 있다고 가정합니다.이를 염두에두면 SPWebApplication의 alternateURLS 컬렉션을 사용하여 해당 웹 응용 프로그램과 관련된 호스트 헤더를 가져올 수 있습니다.

단일 웹 응용 프로그램과 연관된 여러 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