IIS 디렉토리 수정에 대한 Asp.Net 버전의 Yizui Jie Qianchou 기사를 읽은 후 이전에 코드를 통해 IIS에 호스트 헤더를 추가하는 것에 대해 생각했지만 오늘은 관심을 활용하여 결정한 적이 없습니다. 이 문제를 해결하기 위해.
블로그 웹사이트의 경우 사용자에게 보조 도메인 이름 지원을 제공해야 하고 웹 프로그램이 기본 사이트에서 실행되지 않는 경우 사용자가 등록할 때 코드를 통해 IIS에 해당 호스트 헤더를 추가해야 합니다.
이 문제는 IIS에서 코드별로 호스트 헤더를 추가하는 방법으로 Google 검색을 통해 해결되었으며, 테스트 결과 이 방법이 가능한 것으로 확인되었으며 일부 친구들에게 도움이 될 수 있는 내용이라고 생각하여 코드를 일부 개선했습니다. 이 기사.
코드는 다음과 같습니다:
정적 무효 Main(string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
static void AddHostHeader(int 사이트 ID, 문자열 IP, int 포트, 문자열 도메인)
{
DirectoryEntry 사이트 = new DirectoryEntry("IIS://localhost/W3SVC/"+siteid);
PropertyValueCollection serverBindings = site.Properties["ServerBindings"];
string headerStr = string.Format("{0}:{1}:{2}",ip,port,domain);
if (!serverBindings.Contains(headerStr))
{
serverBindings.Add(headerStr);
}
사이트.커밋변경();
}
IIS에서 코드로 호스트 헤더 추가를 찾기 전에 다음 코드를 통해 "ServerBindings" 특성을 찾지 못해 우회했습니다.
DirectoryEntry 사이트 = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
코드는 매우 간단합니다. 설명해야 할 것은 사이트 ID입니다. 기본 사이트는 1입니다. 기본 사이트가 아닌 경우 사이트 로그 파일 이름을 보면 알 수 있습니다.
출처 : dudu-happyprogrammer