wcf json 网络服务
Posted
技术标签:
【中文标题】wcf json 网络服务【英文标题】:wcf json web service 【发布时间】:2010-10-23 21:14:56 【问题描述】:创建 JSON Web 服务的最佳方式是什么?我们有另一个使用 Java 的团队,他们坚持使用 JSON 完成所有通信。我更喜欢使用 WCF 而不是任何 3rd 方框架。
我发现了这个博客:http://www.west-wind.com/weblog/posts/164419.aspx,它表明 Microsoft 的实现存在缺陷,带有特定于 M$ 的废话。
【问题讨论】:
您可能想自己尝试一下,以确保 Rick 没有使用预发布版本。 【参考方案1】:如果您使用 WCF 和 3.5 框架,那就再简单不过了。当您使用 WebGet 属性标记 OperationContracts 时,只需将 ResponseFormat 参数设置为 WebMessageFormat.Json。当服务以 REST 方式访问时,它将使用 DataContractJsonSerializer 返回数据。
将要 JSON 序列化的 POCO 标记为 [DataContract] 并将每个可序列化成员标记为 [DataMember] 非常有帮助。否则,您最终会得到时髦的 JSON,正如 Rick 在他的博客文章中指出的那样。
【讨论】:
这一切的好例子:***.com/questions/2086666/…【参考方案2】:我最终使用了JayRock。它是一项出色的技术,可以正常工作。如果你没有正确配置它,你不会从这个废话 WCF 中得到任何 NullReferenceExceptions。
【讨论】:
我很难理解为什么你被 7 次否决了。看来您找到了使用返回 JSON 的 Web 服务的最佳方式。【参考方案3】:我在ServiceStack 中维护了一个成熟的开源替代 WCF,这是一个现代、代码优先、模型驱动、WCF 替代 Web 服务框架encouraging code and remote best-practices,用于创建简洁、DRY、high-perfomance, scalable REST web services。
它包括.NET's fastest JSON Serializer 并自动支持 JSON、JSONP、CORS 标头以及 form-urlencoded/multipart-formdata。在线演示是一个很好的开始,因为它们都使用 Ajax。
此外,没有 XML 配置或代码生成,您的“一次性编写”C# Web 服务提供所有开箱即用的 JSON, XML, SOAP, JSV, CSV, html 端点,自动使用挂钩插入您自己的 @987654327 @如果需要。
它还包括generic sync/async service clients,提供了一个快速、有类型的客户端/服务器端对端通信网关。
这是创建简单 Web 服务所需的所有代码的完整示例,无需任何配置即可自动注册并在所有 web data formats on pre-defined and custom REST-ful routes 上提供:
public class Hello
public string Name get; set;
public class HelloResponse
public string Result get; set;
public class HelloService : IService<Hello>
public object Execute(Hello request)
return new HelloResponse Result = "Hello, " + request.Name ;
可以在 C# 中调用以上服务(无需任何构建步骤/代码生成),使用以下行:
var client = new JsonServiceClient(baseUrl);
var response = client.Send<HelloResponse>(new Hello Name = "World!" );
Console.WriteLine(response.Result); // => Hello, World
在 jQuery 中使用:
$.getJSON('hello/World!', function(r)
alert(r.Result);
);
【讨论】:
干杯,我一定会试一试的!【参考方案4】:创建 JSON Web 服务的最佳方式是什么?我们还有一个 使用 Java 的团队,他们坚持进行所有沟通 使用 JSON 完成。我更喜欢使用 WCF 而不是任何第 3 方 框架。
这是一个易于理解的演练,它将引导您完成设置您的第一个 WCF 服务,然后将其链接到 SQL Server 数据库的过程。
http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm
它使用了微软钟爱的Northwind SQL Server 数据库,并展示了如何编写一个简单的 JSON WCF Web 服务来读取和写入它的数据。
哦,然后它展示了如何使用 javascript 或 ios 应用程序使用 JSON 数据。
祝你好运!
【讨论】:
这篇文章对我也有帮助 - 我对 WCF Web 服务非常陌生。以上是关于wcf json 网络服务的主要内容,如果未能解决你的问题,请参考以下文章