首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当url包含编码的“与”符号时,MVC WEB API路由失败

当url包含编码的“与”符号时,MVC WEB API路由失败
EN

Stack Overflow用户
提问于 2013-01-16 21:13:06
回答 1查看 31.6K关注 0票数 22

当我调用我的webservice witch时,我会得到两个参数:

从客户端(&)检测到具有潜在危险的Request.Path值。

Routeconfig:

代码语言:javascript
复制
config.Routes.MapHttpRoute(
name: "PropertiesSearch",
routeTemplate: "api/property/Search/{category}/{query}",
defaults: new { controller = "Property", action = "Search", category = "common", query = string.Empty }
);

Controllermethod:

代码语言:javascript
复制
[HttpGet]
public SearchResult Search(string category, string query)
{
}

当我使用以下命令调用api时:

/api/property/search/homes/areaId%3D20339%26areaId%3D20015

从客户端(&)检测到具有潜在危险的Request.Path值。

执行此操作:

/api/property/search/homes/?query=areaId%3D20339%26areaId%3D20015

工作正常。

如何解决路由解码问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 05:56:02

斯科特·汉斯曼blogged about this。您可能需要检查web.config中<httpRuntime>节点的requestPathInvalidCharacters属性。

就我个人而言,我会避免在uri部分使用这样的字符,而只是将这些值作为查询字符串参数。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14359305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档