【问题标题】:Consume WCF Rest Service (JSON) using C# ASP.NET MVC使用 C# ASP.NET MVC 使用 WCF Rest Service (JSON)
【发布时间】:2011-09-30 12:42:47
【问题描述】:

我在 C# ASP.NET MVC 应用程序中使用返回 JSON 的 WCF REST 服务时遇到困难。我正在尝试在控制器中使用该服务。我在同一个解决方案中有一个 ASP.NET MVC 项目和一个服务项目。我在本地 IIS 中创建了一个指向服务项目的条目(即http://localhost/SampleService/).The WCF 服务有效,因为我可以访问 URL 并返回正确的 JSON。

是否有任何关于通过控制器从 RESTful WCF 服务使用 JSON 的代码示例?

【问题讨论】:

    标签: c# wcf asp.net-mvc-3 rest c#-4.0


    【解决方案1】:

    您可以使用 DataContractJsonSerializer:

    这是一个例子:

    var client = new WebClient();
    var data = client.DownloadData("http://localhost/SampleService/GetJsonMessage");
    var stream = new MemoryStream(data);
    var obj = new DataContractJsonSerializer(typeof(string));
    var result = obj.ReadObject(stream).ToString();
    

    在你的控制器中你可以这样做来查看结果

    return Content(result.ToString())
    

    【讨论】:

      【解决方案2】:

      您可以使用内置的 DataContractJsonSerializer 或 JSON.NET 库的 JsonSerializer

      我更喜欢后者,因为它更健壮。有时DataContractJsonSerializer 无法反序列化 JSON 对象。

      示例代码:

      Product deserializedProduct = JsonConvert.DeserializeObject<Product>(jsonText);
      

      要下载库,请转到http://json.codeplex.com/

      【讨论】:

        【解决方案3】:

        我使用了 WebChannelFactory,效果很好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-10
          • 1970-01-01
          • 2016-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多