【发布时间】:2013-12-15 11:55:29
【问题描述】:
我有一个基于 WCF REST 的服务方法,其 URL 包含两个参数
/GetProduct/{productid}/*{格式}
Format 期望“xml”以 xml 格式提供输出,如果未提供任何内容,则以 JSON 格式返回。问题是如果输入格式为“xml”或任何超过 2 个字符的字符串,它会中断并出现异常“长度不能小于零。参数名称:长度”
如果我只给一个像“x”这样的字符,它就可以工作。这很奇怪。对此有何见解。
运营合同
[WebGet(ResponseFormat= WebMessageFormat.Json , BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetProduct/{productid}/{*format}")]
Product GetProduct(String productid, String格式);
【问题讨论】:
-
您能否提供一个失败的 URL 示例?
-
失败:
/GetProduct/19/xml -
作品:
/GetProduct/19/x /GetProduct/19/ -
我无法复制它,您如何托管此服务?
-
IIS 并且它在 Sitecore CMS 的完整配置下运行,因此我们可以利用 Sitecore 上下文从中获取数据。