代码之家  ›  专栏  ›  技术社区  ›  stack72

服务器传输时未触发应用程序生命周期事件

  •  0
  • stack72  · 技术社区  · 14 年前

    我有一个自定义的重写模块,当传递特定的查询字符串参数时,我需要能够调用server.transfer而不是response.redirect,因为adserve软件和跟踪

    在RewriteModule的Init事件中,我注册了以下事件:

    开始请求 PreRequestHandlerExecute命令 释放请求状态

    调用Server.Transfer时,不调用ReleaseRequestState事件,也不设置友好URL

    我想我理解Response.Redirect和Server.Transfer之间的区别,但我无法理解为什么事件实际上没有被调用-是Session.End还是Session.about事件被调用,而这个事件从未被触发?或者这里发生了完全不同的事情

    谢谢

    保罗

    1 回复  |  直到 14 年前
        1
  •  0
  •   PatrickSteele    14 年前

    我猜是因为两者之间的细微差别。

    Response.Redirect执行客户端重定向,这意味着客户端浏览器会收到一条消息,告诉它请求一个不同的URL,从而给您一个新的请求。

    Server.Transfer不会创建新请求( http://msdn.microsoft.com/en-us/library/y4k58xk7.aspx

    推荐文章