gpt4 book ai didi

iis-7 - Response.Redirect/End 不会在 IIS7 上的经典 ASP 中提交事务

转载 作者:行者123 更新时间:2023-12-04 21:49:54 25 4
gpt4 key购买 nike

当我使用 Response.Redirect 或 Response.End 时,没有在 IIS 7 上调用我的 OnTransactionCommit 方法。下面的代码在 IIS 6 上按预期工作(“Comitting...”在“OK”之后输出)但在 IIS 7 上我只会得到“OK”,除非我删除 Response.End。如果我将 Response.End 替换为 Err.Raise,则会在两个版本的 IIS 上调用 OnTransactionAbort 方法。

我曾尝试将管道更改为 Classic,但没有效果。任何人都可以阐明我需要更改哪些设置才能执行此方法?

<%@ Transaction="Supported" Language="VBScript" %>
<% Option Explicit %>
<%
'Called by context unless transaction is aborted
Sub OnTransactionCommit()
Response.Write("Commiting...")
Response.Flush
End Sub

'Called by context when transaction is aborted
Sub OnTransactionAbort()
Response.Write("Aborting...")
Response.Flush
End Sub

Response.Write("OK<br/>")
Response.Flush
Response.End
'Err.Raise 1, "test"
%>

最佳答案

调用 Response.EndResponse.Redirect可能会抛出 ThreadAbortedException ,正如在 .NET 中调用的那样确实(IIS7 和 .NET 紧密集成)。

关于iis-7 - Response.Redirect/End 不会在 IIS7 上的经典 ASP 中提交事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6843875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com