【问题标题】:How to pass multiple parameters in WCF Rest Service?如何在 WCF Rest Service 中传递多个参数?
【发布时间】:2012-03-12 00:05:36
【问题描述】:

我正在用 C# 开发 WCF REST 服务。它适用于单个参数。现在我需要扩展它以支持多个参数。请帮我解决这个问题。

提前谢谢...

在接口中使用以下声明:

[OperationContract]
[WebInvoke(Method = "POST",
    ResponseFormat = WebMessageFormat.Xml,
    RequestFormat = WebMessageFormat.Xml,
    BodyStyle = WebMessageBodyStyle.WrappedRequest,
    UriTemplate = "login")]
resLogin Login(reqLogin rData, int floorId);

【问题讨论】:

    标签: c# wcf service


    【解决方案1】:

    看看UriTemplate parameters。可以使用QueryString或URL路径传入floorId参数。

    URI路径参数

    [WebInvoke(Method = "POST", UriTemplate = "login/floor/{floorId}")]
    resLogin Login(reqLogin rData, int floorId);
    

    查询字符串参数

    [WebInvoke(Method = "POST", UriTemplate = "login?floorId={floorId}")]
    resLogin Login(reqLogin rData, int floorId);
    

    【讨论】:

    • 非常感谢它工作正常...如果我们想传递两个对象,例如 resLogin Login(reqLogin rData, reqFloor floorObj);我们如何完成这项任务...
    • @kasuntharanga - 请发布一个新问题并将其标记为已回答。 SO 不是讨论论坛。
    【解决方案2】:

    在 OperationContract 上添加 BodyStyle

    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    

    【讨论】:

      猜你喜欢
      • 2020-05-02
      • 2015-04-10
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2011-07-13
      相关资源
      最近更新 更多