代码之家  ›  专栏  ›  技术社区  ›  Phil.Wheeler

对于新的.NET RESTful Web服务,最明智的选择是什么?

  •  0
  • Phil.Wheeler  · 技术社区  · 15 年前

    我想使用.NET框架编写我的第一个REST Web服务。我看到了很多人对哪一个最好的评价相当热情,甚至发现了一些来自微软的不同意见。

    我的Web服务应该相当简单:我想公开公共汽车时刻表信息。我认为我将关注的资源是

    • 票价
    • 时间表(路线、站点)

    在WCF、ADO.NET数据服务或ASP.NET MVC之外使用最合适的技术(即不一定是最简单、最有趣或您个人偏好的技术)是什么?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Franci Penov    15 年前

    WCF是Microsoft消息总线。它旨在帮助开发分布式消息驱动服务。

    WCF数据服务是在WCF之上的OData协议的实现,它有助于通过自动生成的RESTful接口公开数据。

    ASP.NET MVC是一个框架,它帮助开发基于模型-视图-控制器模式的Web应用程序。

    但是,您可以使用以下三种技术中的任何一种来实现RESTful服务:

    • 如果要完全控制服务接口和有效负载的定义,请选择wcf。
    • 如果需要在OData上公开您的数据,请选择WCF数据服务,并尽可能减少实际服务实现的工作量。
    • 如果您想要一个简单的RESTful服务,该服务在您的网站中很好地集成,并与之共享和重用代码,那么请选择ASP.NET MVC;而且您不介意ASP.NET管道的开销。

    我个人建议您使用WCF数据服务来实现您的服务,因为它主要是数据驱动的。

        2
  •  5
  •   ChrisLively    15 年前

    如果您希望简单,只需使用通用处理程序(.ashx)。

    如果你想复杂,那就用wcf。

    就我个人而言,我已经做了几个WCF项目,坦率地说,我不愿意再做一个。仅仅为了让最简单的事情工作,就需要大量的代码。

        3
  •  1
  •   vtortola    15 年前

    您也可以自己开发,创建一个处理所有请求的HTTP处理程序,并自己分析URL。这有点困难,也比较费时,但你能更好地控制。我是这样做的,所以我得到了URL,并解析了不同的段和请求流,以了解应该将哪些数据以XML形式推送到输出流。

    这是一个你必须交付和忘记的项目,去WCF休息,但如果它是一个为你自己或你自己的公司或简单地你想学习和乐趣看到一切工作在引擎盖下…把快乐的微软“一切在一个框架中”放在一边,自己动手:d

    干杯。

        4
  •  -2
  •   eaglestorm    15 年前

    ASP.NET MVC适用于Web应用程序,因此

    我们目前在工作中使用wcf,我对它的设计并不感到高兴,尽管使用web.config文件似乎很容易,但这是一件麻烦事,而且很容易把所有东西都放在一个巨大的服务中。

    没有使用ADO.NET数据服务,所以不能说。

    诚实的Advice使用Java解决方案,我只在微软生态系统工作,并将避免工作场所,只使用微软,如果我换了工作。

    Java是更好的,语言和API是干净的,还有更多的第三方软件企业级应用。