在多个应用程序池中启动了相同的应用程序
问题描述:
我刚刚在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文件夹不同的组件。除了像autostartprovider这样的“常见”.net程序集之外,它们没有什么共同之处。
一旦我部署了App3,我可以看到它开始automaticaly(因为它配置了autostartprovider),但它启动了TWICE!?
一旦进入appPool3(如预期的)并且一次进入appPool1。
我可以在我的日志中看到这个,因为autostartprovider从web.config中读取appSetting(应用程序名称)并使用w3wp processid记录它。换句话说,日志显示:
"Booted App3, processid: {appPool3's id}"
"Booted App3, processid: {appPool1's id}"
这是怎么发生的?我错过了明显的东西吗?我验证过App3的文件/组件didnt在对APP错误的路径结束..
答
这似乎是在IIS中已确认的bug,请参阅以下KB:
Some services are preloaded unexpectedly on an IIS server in Windows KB2672277