【问题标题】:Using ProcessModelInfo with IIS 6.0在 IIS 6.0 中使用 ProcessModelInfo
【发布时间】:2009-06-08 12:07:20
【问题描述】:

我想使用通过调用System.Web.ProcessModelInfo.GetCurrentProcessInfo()获得的信息。但MSDN 表示此方法只能与 IIS 5 或具有 IIS 5.0 隔离模式的 IIS 6 一起使用。我不想使用 IIS 5 隔离模式。 从性能计数器读取是唯一的方法吗?

【问题讨论】:

  • 您使用的是 IIS6 还是 5?文档似乎建议它应该与 IIS6 一起使用。
  • 我使用的是 IIS 6。只有将 IIS 配置为在 IIS 5 隔离模式下运行时,它才能与 IIS 6 一起使用。

标签: c# asp.net iis-6


【解决方案1】:

您可以使用Process.GetProcessByName 获取您感兴趣的IIS worker process 的信息。

【讨论】:

  • 谢谢 JP。这绝对是一个可行的解决方案。我会试试看,让你知道。顺便说一句,你认为从像 w3wp.exe 这样的低权限进程调用它会导致问题,如果你愿意的话,是一个安全异常..
  • 如果您使用 FullTrust 运行,应该没问题。但如果没有,这里有一个解决方法 blogs.msdn.com/shawnfa/archive/2005/12/14/502826.aspx
  • 如何验证它是否在 FullTrust 上运行?很抱歉,我对 .Net 安全模型了解甚少。
  • 默认情况下您应该在 FullTrust 中运行,但请查看这篇文章 msdn.microsoft.com/en-us/library/wyts434y(vs.80).aspx
【解决方案2】:

不同版本的 IIS 体系结构发生了相当大的变化。就我个人而言,我不会依赖任何不属于基本 ISAPI 过滤器和扩展 API 的东西。使用性能计数器可能更适合未来。

要获得明确的答案,您应该尝试追踪 David Wang 当前的博客——我没有代表发布链接:/ 自从我上次阅读他的博客以来已经有一段时间了,但如果他仍然活跃,那么你我会从他那里得到更好的答案(他是 MS 的主要 IIS 开发人员之一)。

祝你好运。

【讨论】:

  • 谢谢 KayEss。我查看了 David Wang 的博客,果然很有见地。但是我找不到我的问题的答案。
猜你喜欢
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多