url资源包含&符号时出错

Vic*_*cky 15 c# asp.net-web-api

我们有一个带有以下资源URL的web api.

http://www.example.com/book/bookid/name/bookname
Run Code Online (Sandbox Code Playgroud)

现在有一些书籍包含带有&符号'&'的名字,当我们要求这些名称时,我们收到以下错误

使用的网址:

http://www.example.com/book/123/name/ban&ban
Run Code Online (Sandbox Code Playgroud)

错误:从客户端检测到潜在危险的Request.Path值(&)

我们尝试传递或使用编码值为&即%26并获得相同的错误.

使用的网址:

http://www.example.com/book/123/name/ban%26ban
Run Code Online (Sandbox Code Playgroud)

错误:从客户端检测到潜在危险的Request.Path值(&)

现在,当我在httpruntime元素的web.config中添加了requestPathInvalidCharacters =""属性时,它开始适用于上述两个URL.但是,当我阅读不同的文章时,据说使用requestPathInvalidCharacters =""属性不是一个好习惯.

另外,由于生产中有很多书名和"&"以及不同的特殊字符,我们不能避免为书名发送"&"&符号,有没有一个好方法来处理这个?