证明 REST API 项目的 Visual Studio 升级的合理性

Posted

技术标签:

【中文标题】证明 REST API 项目的 Visual Studio 升级的合理性【英文标题】:Justifying Visual Studio upgrade for REST API project 【发布时间】:2014-05-05 14:11:52 【问题描述】:

我们的团队主要不使用 c#/.NET 进行开发,但几年前我们为几个项目获得了 Visual Studio 2008 的几个许可证。由于我们不是在 .NET 中进行全职开发,因此我们从那时起就没有升级 Visual Studio。

有一个项目即将到来,我们需要开发一个包含 REST API 的 Web 应用程序。我们一直在查看有关创建 REST API 的所有文档。看起来,虽然 VS 2008 能够创建 API(使用 WCF),但更高版本的 Visual Studio 似乎对创建 REST API 有更好的支持(ASP.Net Web API)。

我的问题是:

    升级到 Visual Studio 2012 或 2013 是否会对 API 的开发/维护产生如此大的影响,还是 Visual Studio 2008 就足够了? 我们如何证明升级 Visual Studio 许可证的合理性(如果需要)? 我们不想仅仅通过说“它更新所以更好”来证明升级是合理的。是否有任何文档显示 Visual Studio 2012 或 2013 在创建 REST API 方面比 Visual Studio 2008 好得多?

【问题讨论】:

我想稍微回顾一下这个问题,问一下 2008 年是否足够好来构建一个中等复杂度的 API?我已阅读文档显示可以使用 2008 构建 REST API,但是当有更新的版本可用时是否是个好主意? 【参考方案1】:

不确定是否足以证明这笔钱的合理性,但这里有一些采用 Visual Studio 2013 的理由:

使用 Visual Studio 2008,您只能使用 .NET Framework 3.5 或更低版本。如果您升级,您可以访问 4.0、4.5 和未来的 5.0 如果您使用 Framework 4.5,您可以使用新的REST API Framework。 您可以使用最新版本的 MVC。 您可以使用最新的 Microsoft Entity Framework 版本(旧版本可以在 Framework 3.5.1 中使用,但您确实需要最新版本,因为它具有重要的性能改进) 您可以从ASP.NET WebAPI 中受益。 WCF 是一种改进 Web 服务的方法,但不是最好的方法。如果可能,我会避免使用 WCF。

什么是 Web API?

ASP.NET Web API 是一个用于在 .NET Framework 之上构建 Web API 的框架。您可以使用新的 MVC4(ASP.NET MVC 4 Web 应用程序项目)

使用 Web API 模板。

【讨论】:

感谢@cad - 想知道您是否可以扩展您的声明“如果可能,我会避免使用 WCF”。 这是主观意见。我在 WebServices 上做了很多工作,它们都很好。然后我使用 WCF 服务,我们遇到了很多问题,主要是我们的错误,比如在重新创建代理时自动代理类变空了。然后我转向宁静的服务,并再次感到高兴。我认为 Restful 很容易(KISS 规则),而 WCF 复杂且难以学习...... 谢谢@cad - 这是一个很好的解释,对我有用。对于如何证明升级的合理性,我仍然有些迷茫,但是您的回答提供了更多弹药。非常感谢!【参考方案2】:

您实际上可以免费获得 Visual Studio 2013 express 并构建您想要的所有 Web API。付费版本包括许多企业功能和插件支持。

http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

【讨论】:

【参考方案3】:

对我来说,这始终是业务方面的一个因素。如果他们看到了价值,这很容易卖出。

如果使用 Framework 4.5.1(需要 VS2013)将减少服务器资源 (见:

ASP.NET 应用程序暂停 15% 的即时 (JIT) 性能 “.NET Framework 4.5 和 Windows 8 引入的功能可帮助您显着提升 Web 服务器工作负载的性能。这包括减少(最多 35%)的启动时间和 Web 的内存占用托管使用 ASP.NET 的网站。”

)

AND 带宽资源

(见:

.NET 4.5 和 WCF 请求压缩 http://www.topwcftutorials.net/2014/03/whats-new-in-wcf-v45.html 在压缩和缓存下 ),

然后你可以实际做数学,看看它是否已经有意义。然后,开发和维护方面(在 Vs2013 中非常“整洁” - 新的智能感知、漂亮的 nuget 等),只是卡住了。从开发人员的角度来看,您还需要考虑在版本之间升级应用程序的成本,即从 2008 年到 vNext 与 2013 年到 vNext 的成本。

更新:

由于我发现自己处于非常相似的情况,因此我一直在做一些研究。我们公司的标准是 VS2012(RE:Microsoft Dynamics 环境)。

根据http://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx 上的“.NET Framework 4.5、4.5.1 和 4.5.2 中的新增功能”,他们建议针对您的特定领域进行以下改进:

•在使用 HTTP 传输和传输安全性时,能够在单个 WCF 终结点上支持多种身份验证模式。

这始终是企业的大卖家。请在上面的链接中查看 WCF 下的其他改进。

我还在http://www.msmsoftware.com/2013/8/6/the-business-benefits-of-upgrading-net-35-to-45.aspx 找到了一篇专门针对您的问题的文章。正如我所说,他们注意到更好的性能、更好的安全性并增加了开发和支持功能。

您的问题是独一无二的,因为它针对的是事物的工作方面 (WCF),因此围绕更好地支持应用商店、更好的 Web 标准等的绒毛有些毫无意义。希望我已经给了你足够的答案,让答案有点清楚。

【讨论】:

@JoeyJoeJoeJr 我做了一些您可能感兴趣的更改。祝您好运。

以上是关于证明 REST API 项目的 Visual Studio 升级的合理性的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 项目的 Visual Studio 中的“REST API 客户端”选项?

REST API 与非 RE​​ST API [关闭]

为 REST API 客户端证明 GPS 坐标的原点

通过 REST API 发布变量 - Visual Studio Team Services

使用 Visual Studio 2017 负载测试测试具有不同请求主体的 REST API

GraphQL 与 REST API