Posso definir programaticamente meus IIS7 site-ligações (por exemplo. Foo.domain.com)?

StackOverflow https://stackoverflow.com/questions/809826

  •  03-07-2019
  •  | 
  •  

Pergunta

para o meu site IIS7, eu tive que ir para o Gerenciador de Serviços de IIS7 e definir todas as ligações para o site. Funciona bem.

Eu queria saber se é possível fazer isso programaticamente no arquivo web.config em vez disso? Eu sei que você pode fornecer algumas configurações do IIS 7 em lá .. foi não tenho certeza se é possível também incluem as ligações?

por exemplo.

  1. http; All IP não atribuído de; a porta 80; foo.domain.com
  2. https; 192.168.0.2; a porta 443; blah.domain.com
Foi útil?

Solução

A configuração é encontrado no arquivo de configuração do pai applicationHost.config, porém eu não tenho certeza que ele pode ser substituído. Por exemplo, no IIS expresso a seção que você está procurando é:

<system.applicationHost>
...

    <sites>
        <site name="Development Web Site" id="1" serverAutoStart="true">
            <application path="/">
                <virtualDirectory path="/" physicalPath="%IIS_BIN%\AppServer\empty_wwwroot" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation=":8080:localhost" />
            </bindings>
        </site>
        <siteDefaults>
            <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
            <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
        </siteDefaults>
        <applicationDefaults applicationPool="IISExpressAppPool" />
        <virtualDirectoryDefaults allowSubDirConfig="true" />
    </sites>

</system.applicationHost>

Você poderia tentar correr (desculpe - eu não tentei qualquer um desses eu):

% windir% \ system32 \ inetsrv \ appcmd.exe desbloqueio configuração -section: system.applicationHost

Mas de um ponto de vista da segurança não faz sentido permitir web.configs a cada bagunça individualmente com system.applicationHost, como configuração de um site pode quebrar qualquer outro site.

Outras dicas

Olhe para o namespace Microsoft.Web.Administration. Você pode, então, configurar e maniuplate mais de IIS 7 de código C #.

Há também é um utilitário Appcmd que lhe permite manipular quase tudo no IIS 7.0. ser avisado de que esta ferramenta tem toneladas de opções e switches. Eu só usei isso para o mais básico de tarefas como mudar diretórios físicos em aplicações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top