ASP.NET web服务技术的比较

ASP.NET web服务技术的比较,asp.net,web-services,asp.net-web-api,asmx,Asp.net,Web Services,Asp.net Web Api,Asmx,使用Visual Studio 2012,当我想向现有网站项目添加web服务时,在“添加新项目”对话框中至少有以下选项: Web API控制器类 支持AJAX的WCF服务 支持Silverlight的WCF服务 WCF数据服务 WCF服务 Web服务/ASMX(这是我直到今天为止一直在使用的) (可能还有更多的选择,例如作为附加组件、扩展、NuGet软件包等提供) 据我所知,“WebAPI”是Web服务的最新技术。这是否应该用于所有新的开发 还是仍有其他技术需要考虑的情况?这些技术是否有任何

使用Visual Studio 2012,当我想向现有网站项目添加web服务时,在“添加新项目”对话框中至少有以下选项:

  • Web API控制器类
  • 支持AJAX的WCF服务
  • 支持Silverlight的WCF服务
  • WCF数据服务
  • WCF服务
  • Web服务/ASMX(这是我直到今天为止一直在使用的)
(可能还有更多的选择,例如作为附加组件、扩展、NuGet软件包等提供)

据我所知,“WebAPI”是Web服务的最新技术。这是否应该用于所有新的开发


还是仍有其他技术需要考虑的情况?这些技术是否有任何比较,或者何时使用哪些指导?

我没有真正的比较,但是假设您没有遗留代码或其他特定需求,我会选择新的Web API。它们基本上取代了ASMX和WCF服务。 它们使用简单,工作原理与MVC应用程序类似


我们刚刚转向它,到目前为止还不错。

一些类似的问题,这可能有助于了解您作为web服务消费者的目标客户。虽然详细的响应应该列出预期的受众,但web服务的使用者可能是其他ASP.NET应用程序、javascript代码、.NET windows应用程序,甚至可能是java应用程序。它应该尽可能的“互操作”。然后你应该使用WCF,它可以在多个协议下运行相同的服务。更新了问题。我们有一个现有的网站项目(如果您对遗留代码的意思是这样的话)。如果需要,我认为可以将其转换为Web应用程序项目。转换为Web应用程序很简单。我们也这样做了。也可以在独立项目中运行Web服务。