ASP.NET Web应用程序体系结构设计建议


Answers

关于你的问题#2 - 你绝对可以从Web服务中返回一个DataSet。 http://tinyurl.com/ah58xc

不过,也许更好的选择是简单地重构你的应用程序,而不是把它变成一个多层。 例如,将“数据访问”分隔为您从ASP.NET项目引用的单独的“类库”项目。 这可以使事情更有条理,并可能完成一些你想要做的多层架构。

顺便说一下,创建多层时最大的危险是,如果您不一定需要它们,最终会创建“代理”代码,因为缺少更好的术语。 也就是说,除了使用相同的参数调用“真正的”后端方法以外,没有其他用途的方法。 这种感觉起初更好,因为你有一个干净的图层分离,但导致维护问题,因为,例如,添加一个参数的方法,你必须添加它3次(后端,代理层,和表示层)。

Question

以前我的ASP.NET Web应用程序使用ADO.NET直接连接到数据库。 现在我想把它改成3层,ASP.NET层,中间Web服务层和后端数据库层。 我认为有利于将数据源抽象到ASP.NET前端,松散耦合,减少潜在的安全风险,让外部暴露的ASP.Net Web应用程序能够直接访问数据库等。

与2层架构相比,我遇到了2个主要问题。

  1. 一个额外的中间Web服务层将导致更多的流量,例如,ASP.NET不直接与数据库对话,而是与Web服务对话,Web服务与数据库对话,将导致更多的流量。 这会成为瓶颈吗? 任何一般的建议,如果这是一个瓶颈解决这个问题?

  2. 由于ASP.NET无法连接到数据库,但连接到Web服务,因此无法轻松获取DataSet / DataTable对象。 将表格数据呈现给数据绑定控件变得很困难。 任何想法使ASP.NET表示层更容易编码?

问候,
乔治