'Odata Url的字符串参数中的字符

时间:2011-03-06 05:26:47

标签: wcf odata wcf-data-services

嗯,这看起来很傻,所以我觉得很傻。我在Odata服务上有一个自定义操作,它有一个字符串参数。当字符串不包含特殊字符时,它工作正常,但只要我包含[']字符,我就会:

<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\r\n<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">\r\n  <code></code>\r\n  <message xml:lang=\"en-US\">Bad Request - Error in query syntax.</message>\r\n</error>

我正在使用以下代码调用该服务:

new DataServiceContext(new Uri(svcUri)).Execute<string>(new Uri(relativeOperationUrl, UriKind.Relative));

我试过像这样编码[&amp; '(xml编码)和这个[%27](网址编码)一样,事情还在爆发。

1 个答案:

答案 0 :(得分:2)

尝试''(就像为SQL转义一样);见How to escape a single quote to be used in an OData query?