9

我们已经将一个用经典 asp 编写的应用程序迁移到 Azure 网站(共享),一些页面只是给出错误“页面无法显示,因为发生了内部服务器错误。” 没有任何细节。这些页面在 IIS 7 或使用 IIS express 下工作正常。但是在 Azure 网站上却没有。

正如在其他一些帖子中所建议的那样,我为 Azure 上的网站配置了以下内容:

1) Web 服务器日志记录 - 开启
2) 详细错误消息 - 开启
3) Web.config - customErrors 模式关闭。

<customErrors mode="Off"/>
 <compilation debug="true" targetFramework="4.0">

日志消息仍然没有提供任何错误的详细信息,只是提供了以下信息:

详细错误信息:

模块 IsapiModule
通知 ExecuteRequestHandler
处理程序 ASPClassic
错误代码 0x00000000

感谢任何帮助如何调试 Azure 网站上的经典 asp 页面问题。谢谢你。

4

6 回答 6

12

谢谢 G. Stoynev!添加自定义错误asp页面后它起作用了!我使用以下链接中的代码创建自定义错误 asp 页面

http://support.microsoft.com/kb/224070

以下链接也帮助http://www.tacticaltechnique.com/web-development/classic- asp-getlasterror-in-iis7/

现在我的 web.config 中的 system.webServer 部分如下所示:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <httpErrors> 
     <remove statusCode="500" subStatusCode="100" />
     <error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/errors.asp" responseMode="ExecuteURL" /> 
   </httpErrors> 
  </system.webServer>
于 2013-03-21T21:23:09.763 回答
7

尝试一件事(奇怪),对我有用:

尝试通过 FTP 连接到您的 Azure 网站,然后将您的网站重命名web.config为完全不同的名称。

我将我web.config2的重命名为 - Azure"The page cannot be displayed because an internal server error has occurred."错误消息消失了,我的 ASP.Net 应用程序再次焕发生机。

从那里,我从头开始重新创建 web.config,从我的原始版本中逐块复制它的块(看看是什么导致了问题)

是的,我知道......这是一个愚蠢的建议,但 Azure 没有给我任何关于导致错误的提示,即使打开了日志记录,这也拯救了我的理智!!

于 2014-05-21T12:38:03.977 回答
1

如果您尝试配置您无权访问 IIS 的站点(例如 Azure Web 应用),则可以在 Web.Config 中配置经典 ASP 设置。

在下面

<system.webServer>

您可以放置​​一个

<asp>

使用 Classic 操作方式配置各种事物的元素。

影响我的网站的财产是

**appAllowDebugging="true"**

当您使用 Visual Studio 进行开发并安装了 Just-In-Time 调试器时,虽然这个属性很好用,但它会扰乱 Classic Asp 的错误处理。

顺便说一句,我花了很长时间才弄清楚我改变了什么。

于 2018-02-17T04:26:26.533 回答
1

要将详细的错误消息发送到浏览器,您需要启用 scriptErrorSentToBrowser 属性,如下所示。

  <system.webServer>
       <asp scriptErrorSentToBrowser="true" />
  </system.webServer>

不用说,这可能是潜在的安全风险,因此不应启用!

于 2019-06-10T12:38:40.693 回答
0
  1. 您的问题可能出在浏览器端:确保关闭“显示友好消息”的 IE 设置
    在此处输入图像描述

  2. 此外,在服务器端,您必须进行一些设置以允许将错误消息发送到客户端(对不起,我只能访问该设置的 IIS 风格......不确定 Azure 中有什么):
    在此处输入图像描述

于 2013-03-21T04:04:28.887 回答
0

我通过在 Azure Web 应用程序配置中打开 Logging => Diagnostics log 下的 Application log 解决了这个问题。

然后,您可以在“日志流”窗格中看到错误并修复它。

在我的情况下,以下两行中的错误web.config

<add name="ExtensionlessUrlHandler-Integrated-4.0" 
 path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" 
 preCondition="integratedMode,runtimeVersionv4.0"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>

我删除了它们,它再次起作用。

于 2017-10-31T12:40:22.103 回答