【问题标题】:ASP.NET: HttpRequest.Url truncates trailing '.' charactersASP.NET:HttpRequest.Url 截断尾随 '.'人物
【发布时间】:2011-07-24 00:54:41
【问题描述】:

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

例如,如果 URL 是“http://server/folder.../”,则如下调用:

HttpContext.Current.Request.Url.PathAndQuery;

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

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

关于如何保留尾随 '.' 的任何想法在 HttpRequest.Url 中?

【问题讨论】:

    标签: asp.net uri httprequest


    【解决方案1】:

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

      <httpRuntime relaxedUrlToFileSystemMapping="true" />
    

    这将保留网址中的点。

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

    HttpContext.Current.Request.Request.RawUrl;
    

    请记住,启用relaxedUrlToFileSystemMapping 时可能存在一些安全隐患。

    【讨论】:

    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多