我有一个具有3层(数据、逻辑、服务)的VisualStudio解决方案,我还有一个使用这些层的ASP.NETMVC5应用程序,以及一个向外部公开某些功能的WebAPI。
问题是您如何处理这种结构的部署,因为如果您分别发布ASP.NET MVC应用程序和Web API,您基本上将复制业务层,因此下次您将不得不再次在2个站点中重新部署?
IIS中现在的内容:目前在我的IIS文件夹中:
* Web (folder)
* Bin -> Data.dll, Logic.dll, Service.dll (duplicated)
且还
* Api (folder)
* Bin -> Data.dll, Logic.dll, Service.dll (duplicated)
此致
2条答案
按热度按时间2uluyalo1#
为什么不只是mvc应用程序只作为一个表示层工作,并消耗您的api??通过这种业务逻辑将不会重复,以及您未来的表示层也可以消耗相同的api。
8nuwlpux2#
你的服务(web api)和应用程序(Mvc)基本上是两个不同的应用程序。所以你应该分开部署它们。它们将从两个不同的域(至少从不同的端口)提供服务。
无论何时对服务进行更改,您只需部署服务,Web应用程序也是如此。
但是,我觉得对于这个项目来说,单个MVC应用程序(您的Web应用程序)就足够了,它带有WebApi控制器来公开一些端点(您的服务)。