ASP.NET:HttpRequest.Url截断尾随'。'人物

时间:2011-07-24 00:54:42

标签: asp.net uri httprequest

如果到达ASP.NET应用程序的URL包含尾随句号 - “。”,则会从HttpRequest中的Url属性中截断它们。

例如,如果网址为“http://server/folder.../”,则会进行以下调用:

HttpContext.Current.Request.Url.PathAndQuery;

返回“/ folder /”而不是“/ folder ... /”。

尝试this解决方案,但只有在建议的代码执行后构建Uri才有用,而HttpRequest可能是在执行ASP.NET Web应用程序中的任何代码之前构建的。

任何想法如何保留尾随'。'在HttpRequest.Url?

1 个答案:

答案 0 :(得分:0)

您可以将relaxedUrlToFileSystemMapping添加到<system.web>部分内的web.config。

  <httpRuntime relaxedUrlToFileSystemMapping="true" />

这将保留网址中的点。

但由于某种原因Url.PathAndQuery不包含点,而RawUrl包含它们。

HttpContext.Current.Request.Request.RawUrl;

请注意,启用relaxedUrlToFileSystemMapping时可能会产生一些安全隐患。