Suj*_*jit 20 asp.net iis-7 transfer
我已经浏览了下面提到的链接,
iis论坛和HttpModules&Server.Transfer/Server.TransferRequest/RewritePath问题.但无法抓住这些转移方法背后的概念.
他们是如何运作的?哪一个在不同情况下首选?
有人可以解释我在asp.net中的服务器端传输的TransferRequest vs Transfer方法及其角色吗?
提前致谢
Suj*_*jit 23
HttpServerUtility.Transfer终止当前页面的执行并开始执行提供的URL.这基本上映射并执行与提供的url相对应的新ASP.NET页面(或提供静态文件).它在当前请求管道中就地执行此操作,而不将新配置应用于新URL,或者为新URL重新运行IIS模块.因此,它非常快,但它也可以防止很多TRQ可能出现的情况.
HttpServerUtility.TransferRequest执行提供的URL的异步执行.这是一个完整的IIS子请求,它允许它为新请求重新运行整个请求管道,就像它是一个单独的请求,获得正确的配置,并运行所有正常的IIS模块,包括身份验证,授权等.例如,IIS将为新网址应用授权规则,而不是之前的网址.
TransferRequest重新运行整个请求管道,就像它是一个单独的请求一样.这意味着重新应用IIS和ASP.NET模块; 将遵循新URL的身份验证和授权规则.请注意,TransferRequest需要IIS 7+的集成管道模式,并且传输可以是ASP页面或其他资源(如XML文件).
传输将执行从一个ASP页面转移到服务器上的另一个ASP页面.与TransferRequest不同,IIS和ASP.NET不会验证当前用户是否有权查看Transfer方法提供的资源.如果您需要强制重新授权,并且无法选择集成管道模式,请调用Redirect而不是Transfer方法.重定向会触发客户端重定向,以便新请求将受到IIS和ASP.NET的所有身份验证和授权逻辑的约束.
| 归档时间: |
|
| 查看次数: |
11327 次 |
| 最近记录: |