【问题标题】:WCF Rest | URL parameters not working GetProduct/{productid}/{format}WCF 休息 | URL 参数不起作用 GetProduct/{productid}/{format}
【发布时间】: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 上下文从中获取数据。

标签: wcf rest url


【解决方案1】:

如果您的目标是在不更改任何代码的情况下为服务获取 XML 或 JSON 输出。请看我的回答

WCF REST return single method as JSON and XML

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2013-05-08
    • 1970-01-01
    • 2013-03-25
    • 2011-07-03
    • 2014-04-25
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多