我们有一个处理来自Android和iOS应用程序的请求的Asp.NET web api。我们开始遇到包含查询字符串的GET请求的问题。像这样的URL:http://localhost:10723/api/Locations?userId=32432-a4r2-f32r3了这种反应:(?)从客户端检测到在WebAPI(Azure)中修改requestvalidation
有潜在危险的Request的值
一些调试,我看到查询字符串已经被编码后,使实际请求是http://localhost:10723/api/Locations%3FuserId=32432-a4r2-f32r3,并导致此问题。我可以修改应用程序来解决这个问题,但是因为这是一个现在正在生产的应用程序,所以我正在拼命寻找API的快速修复方法,以便现在可以使用这些应用程序。
我迄今为止尝试:
<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" />
<pages validateRequest="false" />
及相关的httpRuntime web.config中的技巧。
我也写了一个自定义请求验证器。
但一切都告诉我,这是发生在页面验证和我的请求验证器被击中之前发生的事情。