小编And*_*haw的帖子

Response.Redirect/End不在IIS7上的Classic ASP中提交事务

当我使用Response.Redirect或Response.End时,在IIS 7上没有调用我的OnTransactionCommit方法.下面的代码在IIS 6上按预期工作(在"确定"之后输出"Comitting ...")但在IIS 7上我只得到"OK",除非我删除Response.End.如果我用Err.Raise替换Response.End,则在两个版本的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"
%>
Run Code Online (Sandbox Code Playgroud)

iis-7 transactions asp-classic

5
推荐指数
1
解决办法
1498
查看次数

标签 统计

asp-classic ×1

iis-7 ×1

transactions ×1