我们设计了一个新的ASP.NET MVC应用程序,并且我们有用户控件,我们希望用JSON数据绑定
1)我们可以实现一个返回JsonResult的控制器动作 http://shashankshetty.wordpress.com/2009/03/04/using-jsonresult-with-jquery-in-aspnet-mvc/
2)或者我们可以实现也返回JSON的WCF服务 How do I return clean JSON from a WCF Service?
用于序列化的类是不同的JavaScriptSerializer与DataContractJsonSerializer,我不知道它们是否共享内部的一些核心Json序列化代码,以及它们在性能和可扩展性方面的比较?
我希望如果你使用相同的数据模型,第一种方法似乎更容易实现。 是否有其他考虑因素实现简单性比较 JsonResult 与 WCF [WebGet(ResponseFormat = WebMessageFormat.Json)] ,如性能,安全性,可扩展性,可伸缩性,可测试性等。 / p>
P.S。 我想澄清一下,这个问题不是关于采用SOA方法的决定,如何使用架构层等更好地分离关注点。我们的应用程序已经有了WCF服务,可以向第三方应用程序公开一些数据并隔离需要隔离的功能,因此在创建其他项目或托管基础架构以及配置WCF服务方面 - 这一切都已经完成了。假设我们想要获取的JSON数据不会在其他地方重用,仅用于单个网页上的UI控件。
答案 0 :(得分:3)
如果你有一个使用MVC构建的网站,并且JSON用于呈现页面,那么添加一个REST端点,只有在没有其他目的的情况下才会这样做只会增加额外的复杂性
正如你所说的那样,MVC很乐意处理从一个动作返回的JSON所以我会走这条路