创建一个提供JSON的.NET服务层:WCF或MVC内容为JSON?

时间:2011-12-19 04:54:48

标签: .net wcf azure

您好,感谢您的期待!

背景

我正在使用.NET4 w / C#设计一个绿地应用程序,该应用程序将由Azure打包并在云中运行。

此应用程序的主要功能之一是侦听来自整个Internet的其他跨域应用程序的请求,验证请求(执行此操作的方法尚未确定),然后使用JSON对象的形式。

此应用程序将基于订阅/ A​​PI提供数据,我将无法控制或了解未来请求的来源。

过去,我在我的解决方案中创建了一个MVC3项目作为“服务”层,它只是听取某些URL(例如“mydomain.com/json”)来获取来自相同域名。为了响应请求,我将从SQL(实际实体)中获取一些数据,将其序列化为JSON,然后通过操作结果将其作为return Content(foo,application/json)返回。这非常有效。

JSON很可能总是通过在客户端计算机上运行的ajax来请求,所以我并不担心服务器上的线程被阻塞。

请注意,我对WCF服务项目知之甚少,对Azure几乎一无所知。

问题

虽然我对我的MVC JSON服务模式在其他应用程序中的工作方式非常满意,但是有什么主要原因我不应该这样做吗?我应该使用WCF的主要原因是什么?

我很想订阅“如果它不能解决它”的理念,但我知道这不是最好的做法。

我期待回顾Stack Overflow关于此事的精彩建议!

谢谢,

马特

1 个答案:

答案 0 :(得分:1)

没有反对使用MVC方法的论据,我将坚持使用它们。我发现.NET MVC3作为服务代理层非常灵活,特别是当使用JsonFx作为JSON序列化器时,允许在层之间进行低成本的数据传输。