在标准重定向场景中,浏览器正在向服务器发送另一个请求。
如何通过重新触发所有 Web 应用程序生命周期事件(BeginRequest、AuthenticateRequest、...)来实现内部 IIS 重定向(而不仅仅是调用另一个处理程序)?
澄清:我的意思是在同一个网络应用程序中进行重定向。
在标准重定向场景中,浏览器正在向服务器发送另一个请求。
如何通过重新触发所有 Web 应用程序生命周期事件(BeginRequest、AuthenticateRequest、...)来实现内部 IIS 重定向(而不仅仅是调用另一个处理程序)?
澄清:我的意思是在同一个网络应用程序中进行重定向。
这取决于您在页面生命周期中的哪个位置。在一个页面中,您可以使用 server.transfer,但它不适用于 MVC 并且它有点 hacky。
上下文有一些方法,例如 rewritepath 可以让您更改正在执行的路径,但同样存在限制。
iis.net 对此有一篇有用的文章。