我刚刚在IIS中找到了一些我无法理解的东西,并且我希望其他人可以这么做:)?
我在IIS中有一个站点,有多个应用程序。所有这些都配置了serviceAutostartProvider,它们的设置如下:
-Production (site, points to c:\prod)
* App1 (uses appPool 1, points to c:\prod\app1)
* App2 (uses appPool 2, points to c:\prod\app2)
* App3 (uses appPool 3, points to c:\prod\app3)
应用程序映射到磁盘上的不同路径(如上所述),并且应用程序在/ bin文件夹中具有不同的程序集。他们之间没有任何共同点,除了一些"普通" .net程序集,如autostartprovider。
一旦我部署了App3,我就可以看到它是自动启动的(因为它配置了autostartprovider),但它启动了TWICE!?
一旦进入appPool3(如预期的那样),一次进入appPool1。
我可以在我的日志中看到这个,因为autostartprovider从web.config读取appSetting(应用程序名称)并使用w3wp processid记录它。换句话说,日志显示:
"Booted App3, processid: {appPool3's id}"
"Booted App3, processid: {appPool1's id}"
这怎么可能发生?我错过了一些明显的东西吗我已经验证了App3文件/程序集没有错误地进入App1的路径..
答案 0 :(得分:0)
这似乎是IIS中已确认的错误,请参阅以下KB:
Some services are preloaded unexpectedly on an IIS server in Windows KB2672277