首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server.Transfer in Global.asax

Server.Transfer in Global.asax
EN

Stack Overflow用户
提问于 2010-12-29 11:14:27
回答 1查看 5.6K关注 0票数 10

在global.asax的Application_Error方法中有一个自定义错误处理程序,当发生错误时,我使用以下代码将用户传输到错误页面:

代码语言:javascript
复制
Server.Transfer("/Error/");

但是,没有指定实际的页面名,上面的代码就会出现“执行/Error/的子请求的错误”异常。

因此,如果我使用Server.Transfer("/Error/Default.aspx"),它可以很好地工作,没有问题。

同样,使用Response.Redirect("/Error/")也很好,但是当错误页面显示时,我们希望继续使用Server.Transfer来保留显示在地址栏中的URL,这样用户就可以简单地刷新页面,重新尝试访问原始的违规URL。

如果有人可以评论如何使Server.Transfer方法工作,而不指定实际的aspx页面名,将不胜感激。

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-29 11:18:26

Server.Transfer需要一个资源的实际虚拟路径,该路径将提供所需的输出。它不会通过IIS来找出网站的默认文档是什么,所以它不知道"/Error/“是什么意思,除非这是一个实际的文件名。

Response.Redirect之所以有效,是因为它向具有该相对URL ( /Error/ )的浏览器发送“移动”结果,并且当浏览器为/Error/发出新请求时,IIS首先处理它,并应用默认的文档设置。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4553566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档