为什么我应该在MVC中使用WCF?

6

我正在测试ASP.NET MVC 3。

对于ajax调用,我可以使用MVC控制器方法或WCF服务。 但是,如果我可以使用MVC,为什么要使用WCF?

我的问题是:我应该在MVC中使用WCF服务吗?为什么?在哪种情况下?

谢谢!

2个回答

7
WCF是用于开发Web服务的框架。 Web服务的理念是将用于提供原始数据的功能与用于处理数据并向最终用户提供数据的功能分离。这样做有一些优点:
- 如果您提供API,则不知道数据将如何使用。您只想向一组应用程序提供原始数据,让这些应用程序处理其余部分。 Web服务正是这样做的...它打开了应用程序的数据层,同时保持其余部分关闭。 - 它可以通过强制执行松散耦合来提高数据层可维护性。松散耦合意味着应用程序的组件彼此之间没有纠缠在一起。这是一个好事,因为它使得更容易对应用程序的某些部分进行修改而不会破坏其他部分。例如,如果已经明确了给定函数调用将返回一组JSON对象,则可以更改提供该对象数据的数据库的表结构,而不干扰使用该应用程序的代码。只要您遵守预定义的数据契约,始终以相同格式提供相同类型的数据即可。另一方面,如果数据库查询、连接字符串等都编码到应用程序中,则会使修改数据库逻辑变得更加困难。 如果您只是开发小型到中型Web应用程序,并且没有打算启动API或类似服务,则可能不需要WCF。
但是请记住,即使您的应用程序不需要编写WCF服务,也应该像使用服务一样尝试松散耦合您的应用程序层。您可以通过将数据访问代码或对象(实体)定义代码拆分到单独的项目中来实现这一点。无论是使用WCF还是MVC实现的松散耦合都使得维护项目更简单、更容易且更经济,这是一个非常好的实践方法。

谢谢,这正是我所想的。但现在我确定了 ;) - Tkanos

3

MVC很好,你真的不需要WCF。MVC创建了某种REST API(所有操作方法都有自己的URL,可以用来调用方法),因此你可以使用它。


谢谢,这正是我所想的。但现在我确定了 ;) - Tkanos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接