加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

iis-7 – Response.Redirect / End不在IIS7上的Classic ASP中提

发布时间:2020-12-16 07:44:36 所属栏目:asp.Net 来源:网络整理
导读:当我使用Response.Redirect或Response.End时,在IIS 7上没有调用我的OnTransactionCommit方法.下面的代码在IIS 6上按预期工作(在“确定”之后输出“Comitting …”)但在IIS 7上我只得到“OK”,除非我删除Response.End.如果我用Err.Raise替换Response.End,则在
当我使用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"
%>

解决方法

调用Response.End或Response.Redirect可能会引发ThreadAbortedException,因为在.NET中调用它会(IIS7和.NET紧密集成).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读