调用Web API与添加对底层dll的引用

时间:2014-11-18 04:06:13

标签: c# asp.net asp.net-web-api architecture asp.net-web-api2

这更像是一个架构问题,我想知道该方法的所有可能的优点和缺点。

在我的组织中,我们有一个ASP.NET应用程序,一个Web API项目和底层DLL,它们调用App Tier,它实际上位于不同的服务器上。在ASP.NET应用程序中,对于特定的部分,我们正在使用SPA。

对于大多数事情(我会说99%的事情),我们正在从SPA到Web-API进行ajax调用以访问底层功能。

SPA和WebAPI在不同的应用程序上部署和托管在同一Web服务器上,而WebAPI引用了底层DLL,因此这些DLL与WebAPI一起部署。

对于其中一项功能,需要在后面的ASPX页面代码上完成某些服务器端处理。

我建议我的团队继续使用http客户端从SPA调用WebAPI并通过WebAPI维护我们在应用程序和dll之间的松散耦合,但很多人(我会说团队中的其他人)都赞成添加DLL的直接引用到ASP.NET应用程序,所以现在这些DLL将与ASP.NET应用程序一起部署。

我的建议是不是很好,只要在ASP.NET应用程序中添加DLL的直接引用我们会得到的实现方便吗?如果我不够解释,请告诉我。

1 个答案:

答案 0 :(得分:2)

如果您可以完全摆脱Web API,我会赞成直接使用DLL。由于听起来不像您计划那样做,我认为您建议继续使用您的应用程序中的Web API:

  • 使用来自两个地方的DLL会产生部署责任:每次更新时,都必须更新这两个地方
  • 更改DLL中的代码需要测试两条路径的变化 - A-D和A-W-D
  • 修复调用DLL的方式中的错误可能需要同时转到A和W,而不是单独转到W.

当然,路径A-W也可以帮助您锻炼Web API组件,帮助您尽早发现错误。