首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET在三个物理层上的应用

ASP.NET在三个物理层上的应用
EN

Stack Overflow用户
提问于 2009-09-18 06:15:06
回答 5查看 2.3K关注 0票数 3

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

我的公司有一个面向公众的网站,目前作为一个典型的2层系统(web服务器和数据库服务器)构建。

不久,一个项目将开始,其中我们将重写整个网站。我们需要将项目划分为3个物理层。实际上,当您考虑浏览器时,您可以考虑它的4个物理层。

根据我的经验,大多数asp.net应用程序都是构建在2层之上的。web应用程序本身可能有几个层,但实际上它被部署到两个服务器(web和DB)上。

我已经寻找了例子,但似乎层和层被混淆了。我看到了很多多层的例子,但没有多层的例子。

简而言之,web应用程序似乎对使用ADO (或L2S或EF)将数据发送到数据库的应用层进行web服务或WCF调用。

ASP.MVC是否有助于实现这一目标?它会让事情变得更简单还是与众不同?

在某个地方有很好的参考资料或例子吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-18 06:51:14

Gday Rick

我在一家公司工作,由于安全原因,公司有着相同的多层政策。

我在一个层上有一个ASP.NET MVC web应用程序,它连接到web服务所处的应用程序层,基本上是数据库和大型机的外观。和你的设计差不多。

ASP.NET MVC使这个设置非常好使用,因为您可以在您的ASP.NET MVC应用程序中轻松地构建一个经过验证的对象模型。一旦对象通过了所有的顶层验证,您就可以轻松地通过web服务将其传输到应用层。

我想用一个经典的ASP.NET应用程序可以很容易地做到这一点,但是我认为MVC让事情变得更容易了!

看看我的博客是如何在发送到应用服务器之前验证我的模型的示例。

干杯,迈克尔

票数 3
EN

Stack Overflow用户

发布于 2009-09-18 07:50:03

我不认为添加另一层会增加安全性,但这肯定会降低性能,并显著增加开发成本和复杂性。

最后,您可以使用您想要的附加层来对应用程序进行分区。如果是我,如果我被赋予了这个“有趣”的要求,我可能会创建最愚蠢的通过层。

事实上,围绕另一层管理安全性意味着安全漏洞意外暴露的机会显著增加。

ASP.NET MVC不应该产生任何影响,但是您可能最终会使用类似WCF的东西。对于来回编组数据,您可能希望使用不绑定到任何特定数据库或ORM的DTO。

我不想在这种情况下找到自己。复杂性的增加并不会增加安全。

票数 7
EN

Stack Overflow用户

发布于 2009-09-18 06:50:47

在我看来,ASP.NET MVC不会有帮助,也不会阻碍这种场景。基本上,您将不会将模型公开为Linq2Sql、实体框架或任何其他ORM,而是从中间层公开,可能是通过WCF。

这带来了通常围绕身份验证和授权的挑战--即验证如何在层间流动。但这是MVC特有的,WebForms解决方案将有相同的症结--您也将失去ORM可能提供的模型验证位元,并且必须自己在web服务存储库中提供验证,但这只是实现正确接口的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1442828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档