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

我有一个WCF数据服务服务,公开一组
ICD代码.基础表的主键和WCF提供访问权限的数据集是C#中的varchar或字符串.

如果我有这样的查询,该服务正常工作:

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

但是,如果ICD代码碰巧有.在标识符中,服务失败.这是一个不起作用的示例(IIS给出404 – Not Found响应):

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

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

注意:底层类的代码似乎与问题无关,但如果需要我可以提供它.

编辑:我现在的猜测是IIS正在尝试查找以.1’结尾的文件,然后产生404错误.但是我怎么能告诉IIS它不应该查找文件,因为这些都是数据查询?

最佳答案 检查这个
http://blogs.msdn.com/b/peter_qian/archive/2010/05/25/using-wcf-data-service-with-restricted-characrters-as-keys.aspx

如果您使用.Net 3.5 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5121,也可能会感兴趣

点赞