2010-11-16 129 views
4

我们正在将ASP Classic/ASP.NET应用程序从IIS 6迁移到IIS 7.5。在经典模式下大多数情况下运行得很好,但我们在IIS 7.5处理错误方面遇到了很多问题。我们使用经典的ASP页面进行错误报告,我们在这里捕获错误信息,然后重定向到页面以显示错误。基于我们的测试Server.GetLastErrorRequest.ServerVariables("SCRIPT_NAME")从日志页面访问时不返回错误的详细信息和来源。是否有其他方法可以检索IIS 7.5上的错误信息或执行日志记录?IIS 7.5经典ASP错误处理与IIS不同6

如果这有帮助,使用freb我们已经注意到IIS似乎生成一个全新的请求,然后开始执行我们的错误捕获。

在此先感谢。

+1

除了下面显示的答案,我们还需要在细粒度级别启用“详细”错误以支持某些情况。 – smaclell 2010-11-16 21:27:27

回答

3

@smaclell:请参阅http://dylanbeattie.blogspot.com/2008/12/fun-with-servergetlasterror-in-classic.html以了解您的潜在解决方案。

下面是文章的相关段落:

有Vista中的一个非常相似的已知错误,这是所谓固定在SP1 ,但它看起来像相同的修订是无法在Windows 2008 的一部分服务器呢。但是,有一种解决方法 - 如果将自定义页面的默认错误属性(在IIS设置 - >错误页面 - >编辑 功能设置...)中设置为 ,则每当错误不成功时,IIS将调用 由明确配置的 状态代码处理程序处理(因此您的404等处理程序仍然可以) - 但由于某些原因, ,以这种方式处理错误意味着 Server.GetLastError()仍然正常工作。

+0

谢谢,我会试试看。我还会将我们已经尝试过的东西添加到细节中。 – smaclell 2010-11-16 18:59:53

+1

这让我的ASP错误继续工作。我认为我们仍然有一些asp.net内容的错误,这些错误以一种奇怪的方式解决,但这使我们更加接近。谢谢您的回答。 – smaclell 2010-11-16 20:56:33