[英]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.