Depois de ler a versão Asp.Net do artigo de Yizui Jie Qianchou sobre como modificar o diretório IIS, pensei que já havia pensado em adicionar um cabeçalho de host ao IIS por meio de código, mas nunca o estudei. Hoje, aproveitei meu interesse e decidi. para resolver este problema.
Para sites de blog, se você precisar fornecer suporte a nomes de domínio secundários para os usuários e o programa da web não for executado no site padrão, será necessário adicionar o cabeçalho do host correspondente ao IIS por meio do código quando o usuário se registrar.
Este problema foi resolvido através da pesquisa do Google para anexar um cabeçalho de host por código no IIS. Após testes, foi confirmado que o método era viável e algumas melhorias foram feitas no código. Considerando que este conteúdo seria útil para alguns amigos, escrevi. estes artigos.
O código é o seguinte:
vazio estático principal(string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
static void AddHostHeader(int siteid,string ip, int porta, string domínio)
{
Site DirectoryEntry = novo DirectoryEntry("IIS://localhost/W3SVC/"+siteid);
PropertyValueCollection serverBindings = site.Properties["ServerBindings"];
string headerStr = string.Format("{0}:{1}:{2}",ip,porta,domínio);
if (!serverBindings.Contains(headerStr))
{
serverBindings.Add(headerStr);
}
site.CommitChanges();
}
Antes de encontrar Anexar um cabeçalho de host por código no IIS, não consegui encontrar o atributo "ServerBindings" por meio do código a seguir e fiz alguns desvios.
Site DirectoryEntry = novo DirectoryEntry("IIS://localhost/W3SVC/1/root");
O código é muito simples. O que precisa ser explicado é o siteid. O site padrão é 1. Para sites não padrão, você pode saber olhando o nome do arquivo de log do site.
Fonte: programador dudu-happy