我有一个非常简单的WCF服务设置了类似的方法:WCF服务与UriTemplate - “长度不能小于零”
[OperationContract]
[WebGet(UriTemplate = "/GetById/{id}")]
ResponseSingle<BinderViewModel> GetById(string id);
当我试着和一个GUID打出这样.. 。
HTTP://localhost/services/myservicename.svc/GetById/5c3f04d7-f96e-4acd-847b-6da5937e
它返回一个500和异常声明:
长度不能小于零。参数名:长度
如果我删除UriTemplate,而是打它为:
HTTP://localhost/services/myservicename.svc/GetById ID = 5c3f04d7-f96e-4acd-847b- 6da5937e
它工作正常。
我已经做了一些阅读,它看起来像这个请求会在它增长>一定的长度时崩溃。
想知道是否有其他人被此前咬过,如果有的话有解决它的任何运气?
干杯, 添
查询您确定在端点配置中为您的服务设置了正确的路径吗? – paramosh 2012-04-26 10:46:37
你可以发布你的配置部分上述服务?我确实尝试了同样的方式,并且没有任何问题,它按预期工作。此外,500错误也可能是由于其他原因导致的内部服务器错误。只需启用跟踪即可查看其失败的原因 – Rajesh 2012-04-26 11:08:47
我建议您查看WCF WebAPI(ASP.NET Web API)http://wcf.codeplex.com/它试图设置简单时会消除很多头痛服务。 – 2012-04-26 15:25:58