如何将JSON HTTP请求发布到WCF生成的RESTful API

时间:2012-07-06 21:02:57

标签: c# json wcf rest request

我正在尝试让Android使用我自己创建的简单WCF Web服务。这是我的WCF服务定义:

    [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json,
    RequestFormat = WebMessageFormat.Json,
    BodyStyle = WebMessageBodyStyle.Bare,
    UriTemplate = "/UploadCallLog2")]
    [OperationContract]
    String UploadCallLog2(String number, String cached_name, String duration, String date, String line_number);

我有两个问题: 1.我的HTTP请求应该是什么样的?添加请求标头时,我应该选择哪种内容类型? 2.是否有正确的方法将输入参数放入正文中作为JSON并且web服务可以自动检测输入参数的值?

佛瑞德

1 个答案:

答案 0 :(得分:0)

我建议在WCF服务上使用MVC项目。

控制器可以返回一个JsonResult,MVC库包含Json帮助器方法,如果属性匹配,则将json对象序列化和反序列化为c#对象。

然后,这允许从任何支持XmlHttpRequest的客户端调用基于MVC的服务,使用ContentType作为“application / json”。您可以使用HttpGet或HttpPost,具体取决于您的请求类型和SSL下的数据安全性。您还可以利用身份验证模型来保护您的方法。

这只是一个非常干净的实现,没有任何复杂的服务器和客户端配置。有关类似方法的更多信息是MVC 4中的新Web API。