HttpSelfHostServer为有效网址返回400无效网址

时间:2013-06-28 15:48:46

标签: .net http httpserver invalid-url

我们有一个使用HttpSelfHostServer的Windows服务并且它大部分时间都可以工作,但是,我们最近发现了一个错误,其中“长”网址始终被抛弃为无效。

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

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

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

3 个答案:

答案 0 :(得分:2)

这听起来像MAX_PATH被用来约束URL - 这是一个文件系统限制,我想已经内置到自托管服务器。

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

答案 1 :(得分:1)

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

  

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

而不是

  

d:\路径

答案 2 :(得分:1)

我没有自托管API的经验,但它可能是URL或查询字符串长度的问题,因此您可能需要查看以下内容:request exceeds the configured maxQueryStringLength when using [Authorize]