【问题标题】:What framework should I choose to build a WCF Restful API我应该选择什么框架来构建 WCF Restful API
【发布时间】:2011-11-04 09:48:26
【问题描述】:

我想使用 WCF 构建一个 Restful API,但是我正在努力决定如何实现这一点。

WCF Rest Starter Kit 是为 .Net 3.5 开发的,并没有超过 Preview 2。虽然它可以在当前的 .NET Framework 和 Visual Studio 2010 中使用,但从我的研究来看,它似乎已经死了,而且被当前处于预览版 5 中的新 WCF Web API 取代。

另一方面,WCF Web API 仅处于预览阶段,不应真正用于生产应用程序,因为在其发布之前可能会发生许多变化。也没有迹象表明它是否即将完成,是否会在下一个 .NET Framework 版本中发布,以及预计何时发布。

我发现自己处于困境和艰难的境地,并希望更广泛的社区在可能的情况下为我提供一些指导。

【问题讨论】:

    标签: wcf api wcf-web-api


    【解决方案1】:

    你应该把来自 Glenn Block 的this tweet 看成是。

    【讨论】:

    • 有意思,不知道多久!恭喜您的 Web API 帖子,我从一开始就关注 Alexander,这让我有了深刻的见解。所以等待发布真是令人沮丧。但是假设当 MS 在生命周期的早期阶段开放其开发以获取反馈时会发生什么。
    【解决方案2】:

    使用 ASP.NET MVC 构建 Restful API 应该是直接且简单的方法。

    但是,我在生产中使用带有WCF Rest Contrib 的 WCF Web Api 没有任何问题。

    【讨论】:

    • Interesting 从来没有想过使用 MVC 路由并使用它的内置路由和 JsonResult(我以前结合 jQuery 的调用使用过)。然而,它确实让我克服了一个障碍,当 Web API 及其所有内置功能发布并且我在某种程度上滚动我自己的时候,它可能会在 6 个月内成为一个痛苦。但是,也许我可以在那个时候换掉它,只要我的 API 和方法调用都以相同的方式工作,即 GET、POST、PUT 等??
    • 理想的方法是将所有逻辑都放在服务类中,而 MVC 控制器或 WCF Web Api 服务类将只是一个代理,所以最终如果你想刷掉应该不难的东西,因为最重要的东西仍然完好无损。
    • 我只是按照示例从控制器内部的代码开始。如果我没听错,你是说有一个 UserService 类,它包含我所有用于访问实际数据的代码,然后让我的 UserController 处理请求,然后从内部调用 UserService 类。因此,如果我需要更改 UserService 类的操作方式,只要它仍然返回指定的类型,它就不会影响 UserController?
    • 是的,这正是我的意思。
    【解决方案3】:

    也许OpenRasta 就是您要找的东西?

    另见

    RESTful framework alternatives to WCF

    【讨论】:

    • 谢谢,但需要坚持使用 Microsoft WCF 堆栈。
    • 然后问问自己 - 服务的任务关键程度如何,可以运行多长时间,您是否需要新 API 的所有新功能以及何时需要该服务。如果您需要它,请尽快使用旧版本,如果您需要新功能,请使用新功能,并为 api 更改的痛苦做好准备。所以基本上这取决于但我更喜欢安全路线 - 比抱歉更安全
    • 你的正确。我对使用 MVC 站点的 Hasans 解决方案研究得越多,我就越喜欢它,我认为它会满足我的需求,而不会像你说的那样为未来的变化而烦恼。
    【解决方案4】:

    我取决于您的申请。如果它是一个使用 ASP.NET MVC 提供 REST API 的网站(也有视图),那么技术、工作量、专有技术等将更少。

    如果它只是一个 REST API,请从开发风格中选择您更喜欢的:ASP.NET MVC 或 WCF Web API

    【讨论】:

    • 已确认 - 直到现在(Wrt Glenn 的推文);-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 2012-04-16
    相关资源
    最近更新 更多