wcf json网络服务

创建JSON Web服务的最佳方法是什么? 我们有另一个使用Java的团队,他们坚持使用JSON完成所有通信。 我更愿意使用WCF而不是任何第三方框架。

我发现这个博客: http : //www.west-wind.com/weblog/posts/164419.aspx ,它表明微软的实现存在M $特定废话的缺陷。

如果您使用WCF和3.5 Framework,那就不容易了。 使用WebGet属性标记OperationContracts时,只需将ResponseFormat参数设置为WebMessageFormat.Json即可。 当RESTful访问服务时,它将使用DataContractJsonSerializer返回数据。

将您想要JSON序列化的POCO标记为[DataContract]并将每个可序列化成员标记为[DataMember]非常有用。 否则,你最终会得到时髦的JSON,正如里克在他的博客文章中指出的那样。

我在ServiceStack中维护了一个成熟的开源替代WCF,这是一个现代的,代码优先的,模型驱动的WCF替代Web服务框架, 鼓励代码和远程最佳实践来创建简洁,干燥, 高性能,可扩展的REST Web服务 。

它包括.NET最快的JSON Serializer,并具有自动支持JSON,JSONP, CORS标头以及form-urlencoded / multipart-formdata。 在线演示是一个很好的开始,因为他们都使用Ajax。

此外,没有XML配置或代码生成,您的“一次编写”C#Web服务提供所有开箱即用的JSON,XML,SOAP,JSV,CSV,HTML端点,自动带钩子插件在您自己的内容类型中,如果需要。

它还包括通用同步/异步服务客户端,提供端到端的快速,类型化的客户端/服务器通信网关。

这是创建简单Web服务所需的所有代码的完整示例,该代码在预定义和自定义REST-ful路由上的所有Web数据格式上自动无需任何配置,注册并可用:

public class Hello { public string Name { get; set; } } public class HelloResponse { public string Result { get; set; } } public class HelloService : IService { public object Execute(Hello request) { return new HelloResponse { Result = "Hello, " + request.Name }; } } 

可以在C#中使用以下行调用以上服务(没有任何构建步骤/代码生成):

 var client = new JsonServiceClient(baseUrl); var response = client.Send(new Hello { Name = "World!" }); Console.WriteLine(response.Result); // => Hello, World 

在jQuery中:

 $.getJSON('hello/World!', function(r){ alert(r.Result); }); 

创建JSON Web服务的最佳方法是什么? 我们有另一个使用Java的团队,他们坚持使用JSON完成所有通信。 我更愿意使用WCF而不是任何第三方框架。

这是一个易于理解的演练,它将指导您完成设置第一个WCF服务,然后将其链接到SQL Server数据库的过程。

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

它使用微软心爱的Northwind SQL Server数据库,并展示了如何编写一个简单的JSON WCF Web服务来读取和写入它的数据。

在此处输入图像描述

哦,然后它展示了如何使用JavaScript或iOS应用程序来使用JSON数据。

祝好运 !

我最终使用了JayRock 。 它非常棒的技术,只是有效。 如果您没有正确配置它,则不会从此废话WCF中获取任何NullReferenceExceptions。