我习惯于看到如下的n层设计模式: 1)数据库(SQL Server) 2)域(EF) 3)Facade Service Layer(WCF ) 4)MVC的Web应用程序(IIS)N层设计中的Web API C#
在防火墙方面和保护区,Web服务器和MVC应用程序住在一个Web服务的前一个面向公众的区(DMZ),是生活背后的另一个防火墙处理业务逻辑并连接到数据层,以增加一层安全性。
在防火墙(而非DMZ)后面使用Web API将业务逻辑传回网站是否有任何理由或优势?我认为这是WCF擅长的地方。
例如,如果创建了本地移动应用程序并且需要访问服务器,那么其他WebAPI Web服务是否将存在于DMZ中(类似于MVC站点),然后再连接回内部服务(WCF)是否回到业务逻辑处理?我确定它取决于应用程序的特定需求,但作为一般设计模式,Web API应该在体系结构的哪个区域生存?
谢谢!
如果您的WebAPI正在提供数据以供客户端使用,它可能与MVC代码位于相同的位置,很可能在同一个实际项目中。您将拥有MVC和WepAPI控制器。 – Mant101