asp.net-mvc – WebService还是一个简单的MVC控制器?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – WebService还是一个简单的MVC控制器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要提供(对我自己)从数据库获取一些数据的方法,以便我可以轻松地构建静态html页面,这样我就可以减轻处理它们的服务器(因为我每天浪费80Gb的带宽).

我的问题很简单

我应该创建一个WCF服务(或ASMX Web服务)来提取这些数据(WCF将在同一台服务器上,所以我仍然使用它,但更少,因为我只是得到我真正需要的东西,不要浪费处理页面)

或者我应该创建一个简单的控制器,如:

public class ServiceApiController : Controller
{
    public ActionResult GetPrizes(string calendarGuid)
    {
        return Json("...");
    }
    public ActionResult GetWinners(string calendarGuid)
    {
        return Json("...");
    }
    public ActionResult AddSubscriber(string calendarGuid,string[] args)
    {
        return Json("...");
    }
    public ActionResult ReclaimSubscriberEmail(string calendarGuid,string email)
    {
        return Json("...");
    }
    public ActionResult RequestContact(string calendarGuid,string[] args)
    {
        return Json("...");
    }
}

并且直接从我将使用的任何Javascript框架中调用它(错误,当然我可爱的jQuery).

解决方法

要看. WCF服务更灵活,因为您不必依赖HTTP,而是可以使用直接TCP连接,我相信它很容易让它暴露SOAP.只是行为,端点等的web.config设置比它应该更复杂.

另一方面,MVC可能更快地设置,因为您不必处理有时有点难以更改DataContracts(因为它们需要重新部署共享程序集).

WCF =更“坚实”,有更多协议使其“稳定”,即:您可以在提供者和消费者之间建立硬合约.

MVC =更灵活,可能更容易设置,但没有硬合同 – 如果你改变Json的格式,你的客户可能会在没有你最初注意到它的情况下破坏,所以它可以更多地跟上东西.

总的来说,我使用MVC,除非我有理由使用上面概述的WCF(客户端和服务器之间的稳定/保证/可发现合同的要求,要求使用SOAP,或者设置IIS网站时不方便/不必要)因为我的服务器作为Windows服务运行)

猜你在找的asp.Net相关文章