问题描述
我正在尝试针对API发出Get请求,并且URL包含很多Guid。 如何为我的IIS express设置无限的URL限制以进行此查询。
查询示例:
https://localhost:44329/api/user_collections/(7e9046ff-93ba-4f4f-a185-0330967e33b4,e88605f2-772f-493a-b9ee-1b561f45af57,e8796bef-cf53-47ca-85e7-1c683775c40f,2f795791-dfd7-469d-881b-217ad3aeb4f0,e36c1106-e38d-40aa-816c-318e06bc9443,dd07a986-a63a-4a8c-8f77-3944955ab5d4,46299c82-cbf8-4256-996b-4ac6ef975f09,46299c82-cbf8-4256-996b-4ac6ef975f09)
解决方法
得出there’s a registry settin g,以表示称为“ UrlMaxSegmentLength”的任何单个路径段的最大长度。默认值为260个字符。当我们的路线值大于该值时,我们将收到400错误。
解决方案是通过查询字符串传递值,而不是作为路由值。如果您的路由值会很长,则需要考虑一些问题。当然,这不是路由的问题,只是当您养成将参数推入路由的习惯时,您可以很轻松地陷入困境。在将来的路由版本中,最好在生成完整的路由URL时进行某种最大长度检查,这样一来,如果没有异常,就不能生成大于256个字符的路径段。