对于我的IIS7网站,我必须进入IIS7服务管理器并定义该站点的所有绑定。工作正常。
我想知道是否可以在web.config文件中以编程方式执行此操作?我知道你可以在那里提供一些iis7设置..不确定是否也可以包含绑定?
例如。
答案 0 :(得分:2)
配置可以在父applicationHost.config的配置文件中找到,但是我不确定它是否可以被覆盖。例如,在IIS Express中,您要查找的部分是:
<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>
你可以尝试跑步(对不起 - 我自己没有尝试过这些):
%windir%\ system32 \ inetsrv \ appcmd.exe解锁config -section:system.applicationHost
但是从安全的角度来看,允许web.configs与system.applicationHost分别混淆是没有意义的,因为一个站点的配置可能会破坏其他所有站点。
答案 1 :(得分:1)
查看Microsoft.Web.Administration命名空间。然后,您可以使用C#代码配置和配置大部分IIS 7。
还有一个实用程序Appcmd,它允许您操作IIS 7.0中的几乎所有内容。请注意,此工具有大量选项和开关。我只将它用于最基本的任务,例如更改应用程序上的物理目录。