ASP Classic 中的事务问题

Posted

技术标签:

【中文标题】ASP Classic 中的事务问题【英文标题】:Transaction issue in ASP Classic 【发布时间】:2017-10-30 11:23:58 【问题描述】:

我正面临HTTP 500 error 托管在IIS 7.5 服务器和Windows server 2008 中的经典asp 应用程序。

我已经完成了以下步骤。

    在应用程序池中启用 32 位 启用父路径 = true MSDTC 安全设置已更新

仍然不适用于上述更改。但是在卸载和安装MSDTC 并执行IISRESET 时效果很好。

注意:使用Transaction=required 启用的 ASP 页面并删除它也可以正常工作。

【问题讨论】:

500 仅表示“内部服务器错误”。实际上导致这种情况的可能性几乎是无限的。打开详细的错误消息,确保你的浏览器不被允许认为它比你更聪明,然后,根据实际错误的页面和行号,让我们确切地知道什么代码到底抛出了什么错误。 我已经在 IIS 7.5 的 ASP 设置中启用了它,并且还启用了在 IE 中显示友好的错误消息,但它仍然没有显示实际错误。有什么想法吗? How to enable detailed errors,然后关闭该死的“友好”(“无用”的代码字)错误消息。 是的,几个月前我遇到了同样的问题,删除交易也对我有用。当您的数据库不在同一台服务器上时,就会发生这种情况。我没有找到任何交易原因,所以我删除了。我建议去 IIS 日志 (C:\inetpub\logs\LogFiles) 并查看该特定页面的详细错误。 请问您为什么还在使用 ASP Classic? 【参考方案1】:
    打开 IIS 管理器并转到 ASP 部分 设置向浏览器发送错误 = true 删除默认脚本错误信息 保存并重启 IIS 取消选中浏览器中的“显示友好错误消息”。如果您已执行上述步骤,您将能够在浏览器中看到正确的错误。

查看下面的截图

IIS settings

您在浏览器中看到的错误是什么? 检查以下链接以配置 MSDTC 和您的数据库以进行事务和身份验证(入站、出站)。对于您的描述,它看起来像是 ASP 中的身份验证和事务相关问题。

Where MSDTC needs to be installed in Distributed transaction case

https://msdn.microsoft.com/en-us/library/dd327979.aspx

【讨论】:

以上是关于ASP Classic 中的事务问题的主要内容,如果未能解决你的问题,请参考以下文章

为 ASP Classic 中的 COM 可见性注册 .NET DLL

如何在 Classic ASP 的下拉列表中显示存储过程中的数据?

如何在同一个 Visual Studio 解决方案中设置 ASP Classic 和 ASP.NET WebForm - 用于在 ASP.NET WebForm 中重写 ASP Classic 页面

使用 Classic ASP/ 创建服务器端 REST API 时遇到问题/

ASP.Net Classic Serilog 不写入文件

ASP Classic 页面停止工作