如何在WCF数据服务QueryString中转义句点(。)

时间:2011-09-26 19:10:18

标签: odata wcf-data-services

我有一个WCF数据服务服务,它公开了一组ICD代码。基础表的主键和WCF提供访问权限的数据集是C#中的varcharstring

如果我有这样的查询,服务可以正常运行:

http://somehost/someService.svc/IcdSet('001')

但是,如果ICD代码恰好在标识符中有.,则服务将失败。这是一个不起作用的例子(IIS给出了404 - Not Found响应):

http://somehost/someService.svc/IcdSet('001.1')

所以问题是如何逃避这段时间或将其正确传递给WCF数据服务?它必须将其解释为不同类型的过滤条件。

注意:基础类的代码似乎与问题无关,但如果需要我可以提供。

编辑:我的 guess 目前是IIS正在尝试查找以.1')结尾的文件,然后产生404错误。但是我如何告诉IIS它不应该查找文件,因为这些都是数据查询?