繁体   English   中英

使用 C# Z9E0DA8438E1E38A1C30F4B76CE7 使用 WCF Rest 服务(JSON)

[英]Consume WCF Rest Service (JSON) using C# ASP.NET MVC

I'm having difficulty consuming a WCF REST service, which returns JSON, in a C# ASP.NET MVC application. 我正在尝试使用 Controller 中的服务。 我在同一个解决方案中有一个 ASP.NET MVC 项目和一个服务项目。 I've created an entry in my local IIS which points to the service project (ie http://localhost/SampleService/) .The WCF Service works because I can access the URL and the correct JSON is returned.

有没有人有任何关于通过 Controller 从 RESTful WCF 服务消费 JSON 的代码示例?

您可以使用 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();

在您的 controller 中,您可以执行此操作以查看结果

return Content(result.ToString())

我使用了 WebChannelFactory,效果很好。

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

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

示例代码:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM