【发布时间】:2014-10-15 04:02:09
【问题描述】:
如果您有一个应用程序池名称并且因此可以检索此应用程序池,有没有办法以编程方式检索与此应用程序池关联的应用程序或站点?我会接受一个数字来基本确定是否正在使用应用程序池,但如果可能的话,也能够识别正在使用它的应用程序/站点的名称会很好。
我遇到了这个question,但它似乎是通过循环现有应用程序来实现的。它不涉及站点,但这不应该是棘手的,因为我可以使用 site.ApplicationDefaults.ApplicationPoolName。但是,如果您有应用程序池名称,是否有一种“干净”的方式来获取应用程序/网站的集合?
【问题讨论】:
-
我认为您已经找到了解决方案:您提供的问题的可接受答案涉及网站和应用程序。
-
@NicolasR - 这个答案似乎是一种迂回的方式。使用该方法,我必须检查每个应用程序的应用程序名称,看看它是否与我拥有的 1 匹配,然后验证应用程序/站点是否正在运行。如果可能的话,我宁愿使用应用程序池名称获取使用应用程序池的应用程序。
-
看一下这里的第二种情况:blogs.msdn.com/b/jaskis/archive/2010/07/22/… 你可以使用 ApplicationPool 对象的
WorkerProcesses属性,但它不会反映每个项目,只会反映那些加载的项目 -
@NicolasR - 这是一个有用的链接,但遗憾的是我不能保证应用程序会有请求并因此被加载。看起来我将不得不使用循环方法。如果您已经拥有应用程序池,这似乎有点愚蠢。
-
是的,我认为其他 SO 解决方案是唯一的方法,抱歉。我可能会移动我的 cmets 来回答!
标签: c# web-applications iis-7 application-pool