为了清楚起见,当我在问题中提到层时,我指的是物理层(即用于演示、应用程序和数据库的不同服务器)
我公司有一个面向公众的网站,目前构建为典型的 2 层系统(Web 服务器和数据库服务器)。
很快一个项目将开始,我们将重写整个网站。我们需要将项目分成 3 个物理层。实际上,当您考虑浏览器时,您可以将其视为 4 个物理层。
根据我的经验,大多数 asp.net 应用程序都构建在 2 层上。 Web 应用程序本身可能有多个层,但在物理上它部署到两个服务器(Web 和 DB)。
我已经搜索了示例,但似乎层和层被混淆了。我看到很多多层示例,但没有多层示例。
简而言之,Web 应用程序似乎对应用程序层进行了 Web 服务或 WCF 调用,该应用程序层使用 ADO(或 L2S 或 EF)将数据编码进出数据库。
ASP.MVC 是否有助于实现这一目标?它使它变得更容易还是只是不同?
某处是否有很好的引用或示例?
最佳答案
我不认为添加另一层会增加安全性,但它肯定会降低性能并显着增加开发成本和复杂性。
最后,您可以根据需要使用附加层对应用程序进行分区。如果是我,如果给我这个“有趣”的要求,我可能会创建最愚蠢的通过层。
事实上,围绕另一层管理安全意味着安全漏洞被意外暴露的机会显着增加。
ASP.NET MVC 应该没有影响,但您最终可能会使用 WCF 之类的东西。为了来回编码数据,您可能希望使用与任何特定数据库或 ORM 无关的 DTO。
这不是我乐于发现自己的情况。增加的复杂性并不会导致增加的安全性。
关于3 个物理层上的 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442828/