사이트 모음을 호스팅하는 호스트 헤더를 얻는 방법은 무엇입니까?
-
09-12-2019 - |
문제
예를 들어 내 사이트 모음 구조는 다음과 같습니다.
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 에 대한 참조를 추가해야합니다.