当我打电话给我的网络服务时,我会得到两个参数:
从客户端(&)检测到潜在危险的Request.Path值。
Routeconfig:
config.Routes.MapHttpRoute(
name: "PropertiesSearch",
routeTemplate: "api/property/Search/{category}/{query}",
defaults: new { controller = "Property", action = "Search", category = "common", query = string.Empty }
);
Controllermethod:
[HttpGet]
public SearchResult Search(string category, string query)
{
}
当我用api调用api时:
/ API /属性/搜索/舍/ areaID表示%3D20339%26areaId%3D20015
从客户端(&)检测到潜在危险的Request.Path值。
这样做:
/ API /属性/搜索/舍/?查询= areaID表示%3D20339%26areaId%3D20015
工作正常。
如何解决路由解码问题?
答案 0 :(得分:30)
Scott Hanselman blogged about this。您可能想要检查web.config中requestPathInvalidCharacters
节点的<httpRuntime>
属性。
我个人会避免在uri部分使用这些字符,只需将这些值作为查询字符串参数。