“错误请求 - 查询语法错误”当使用 long 调用 Webservice 方法时?范围
我正在尝试调用我的 .svc 文件的此方法:
[WebGet]
public List<Request> GetRequestFilteredForUser(string login, long? minDate, short? statut, int pageIndex, int pageSize)
{
/* ... */
}
使用此网址:
http://localhost/Service/DataService.svc/GetRequestFilteredForUser?login='ADM'&minDate=634448160000000000&statut=5&pageIndex=1&pageSize=99
我收到异常:错误请求 - 查询语法错误。
如果我在没有“minDate”的情况下调用参数,一切正常:
http://localhost/Service/DataService.svc/GetRequestFilteredForUser?login= 'ADM'&statut=5&pageIndex=1&pageSize=99
问题是什么?
谢谢
I'm trying to call this method of my .svc file:
[WebGet]
public List<Request> GetRequestFilteredForUser(string login, long? minDate, short? statut, int pageIndex, int pageSize)
{
/* ... */
}
With this url:
http://localhost/Service/DataService.svc/GetRequestFilteredForUser?login='ADM'&minDate=634448160000000000&statut=5&pageIndex=1&pageSize=99
I get the exception: Bad Request - Error in query syntax.
If I call without the 'minDate' param, all work fine:
http://localhost/Service/DataService.svc/GetRequestFilteredForUser?login='ADM'&statut=5&pageIndex=1&pageSize=99
What is the problem?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
URL 中的长(或 Int64)文字需要采用 ###L 格式,例如 64L。因此,只需在您的值中添加一个尾随“L”即可。请参阅此表了解更多详细信息:
http://www.odata.org/developers/protocols/overview#AbstractTypeSystem
A long (or Int64) literal in URL needs to be in the format ###L, so for example 64L. So just add a trailing 'L' to your value and it should work. See this table for more details:
http://www.odata.org/developers/protocols/overview#AbstractTypeSystem