首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Request.RawUrl与Request.Url

Request.RawUrl与Request.Url
EN

Stack Overflow用户
提问于 2010-01-07 19:04:50
回答 5查看 78.5K关注 0票数 77

在ASP.NET中,Request.RawUrlRequest.Url有什么不同?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-07 19:09:29

来自MSDN:

原始网址被定义为域信息之后的网址部分。在URL字符串http://www.contoso.com/articles/recent.aspx中,原始URL为/articles/recent.aspx

这意味着,您可以使用rawurl,而不必关心通过哪个地址调用服务器(例如,如果您有多个接口,则为http://yourserver/http://yourserver.yourdomain.com/ )。

但是,HTTPRequest对象的URL属性返回一个System.URI对象,该对象还包含服务器名称。

票数 54
EN

Stack Overflow用户

发布于 2013-12-05 00:57:07

似乎没有人提到它显示了IIS实际接收的原始URL,在任何可能发生的操作发生之前,通过URL重写将其发送到IIS或您的文件系统。

假设你在一个MVC应用程序中的/error上设置了一个错误页面,并且你设置了你的webconfig在那个位置用你的自定义错误页面替换错误页面。通过这种方式,当用户在/faultypage上得到错误时,用户将获得/error上的页面,但浏览器地址栏中的url仍然会显示www.mysite.com/faultypage-this is a transfer,或rewrite。

现在在你的错误控制器上,如果你要看一眼Request.Url,它会像www.mysite.com/errorRequest.RawUrl说的那样(更有用?) /faultypage,这是用户的实际请求,而不是当前正在执行的页面。

票数 67
EN

Stack Overflow用户

发布于 2013-05-04 08:07:56

Request.RawUrlRequest.Url.PathAndQuery非常相似,不同之处在于Request.Url.PathAndQuery包含Default Document,而Request.RawUrl不包含。根据我的经验,这对ASP.Net 4.0 and higher来说是正确的。

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

https://stackoverflow.com/questions/2019735

复制
相关文章

相似问题

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