【问题标题】:HttpSelfHostServer returns 400 Invalid URL for valid urlsHttpSelfHostServer 为有效 url 返回 400 Invalid URL
【发布时间】:2013-06-28 15:48:46
【问题描述】:

我们有一个使用 HttpSelfHostServer 的 Windows 服务,它在大多数情况下都能正常工作,但是,我们最近发现了一个错误,即“长”网址总是被视为无效。

“好”网址示例:http://localhost:35353/api/files/ZmlsZTovLy9DOi9Vc2Vycy9kYXZpZC9Eb3dubG9hZHMvU2FtcGxlIERvY3VtZW50cy9BWklQUEVSXzAwMDc0OTUuaHRt/permissions

“无效”网址示例:http://localhost:35353/api/files/ZmlsZTovLy9DOi9Vc2Vycy9kYXZpZC9Eb3dubG9hZHMvU2FtcGxlIERvY3VtZW50cy9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTAvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkwL0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MC50eHQ=/permissions

我注意到,当 /files/{file}/permissions 之间的加密字符串 {file} 大于 260 个字符时,它会失败,但当它少于 260 个字符时,它会起作用。 260是硬限制还是有什么办法可以增加? 感谢您的帮助!

【问题讨论】:

    标签: .net http httpserver invalid-url


    【解决方案1】:

    这听起来像是 MAX_PATH 被用来限制 URL - 我猜这是自托管服务器中内置的文件系统限制。

    请参阅此处的“最大路径长度限制”:http://msdn.microsoft.com/en-us/library/aa365247.aspx

    【讨论】:

      【解决方案2】:

      要指定扩展长度的路径,请使用“\\?\”前缀。例如,

      \\?\D:\很长的路径

      而不是

      D:\路径

      【讨论】:

        【解决方案3】:

        我没有使用自托管 API 的经验,但可能是 URL 或查询字符串的长度有问题,所以您可能想看看这个:request exceeds the configured maxQueryStringLength when using [Authorize]

        【讨论】:

          猜你喜欢
          • 2016-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-02
          • 2011-05-24
          • 2015-01-11
          • 1970-01-01
          • 2016-01-24
          相关资源
          最近更新 更多