3 个物理层上的 ASP.NET 应用程序

标签 asp.net asp.net-mvc wcf linq-to-sql

为了清楚起见,当我在问题中提到层时,我指的是物理层(即用于演示、应用程序和数据库的不同服务器)

我公司有一个面向公众的网站,目前构建为典型的 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/

相关文章:

asp.net - IIS 6如何从http ://example. com/*重定向到http ://www. example.com/*

c# - ASP.NET MVC下无法使用C#设置和获取cookie

asp.net - 如何防止我的 ASP.NET 应用程序在我的开发环境中不断重新启动?

c# - 如何在运行时设置端点

.net - 流式传输 WCF - 400 错误请求

.net - ASP.NET 中的套接字编程?

asp.net:如何在后端找到中继器 div?

c# - 获取最近创建的实体的 ID - ADO Entity Framework

c# - 在mvc布局页面显示动态菜单

html - 为什么我的页脚不在页面底部?