我目前正在进行我的第一个适当的技术设计方案,以取代我们现有的解决方案之一。目前,我们有各种各样的网站,名义上做同样的事情。然而,其中有3或4个使用了经典的ASP,据我所知,它们从未被更新过,这意味着它们返回的数据最多是有缺陷的。
大多数用户使用的应用程序是SharePoint web部件,它使用ASP.net (3.5)动态创建多个输入框和组合框,这取决于它们访问的位置。所有配置都存储在SharePoint列表中(包括用于数据库访问的用户名和密码)。当用户单击“搜索”按钮时,它将调用一个存储过程,该存储过程处理并返回数据。这个存储过程是重写的另一个主要原因,因为许多开发人员多年来一直在开发它,而且没有一个开发人员对它们正在做的事情发表评论--返回几百条记录可能需要30多个小时,而且很多时候它甚至没有返回我所期望的内容。
所以,我终于得到了重写这个的许可,我想出了一个解决方案,我认为这个解决方案会奏效。然而,当我把它写下来的时候,我不相信这是正确的方法,所以我会感激任何比我更有知识的人。该应用程序将包括以下内容:
网站
该网站将是非常基本的-简单创建输入框的基础上,他们访问它的网址,并允许他们提交一个请求。
当用户单击submit按钮时,将使用ChannelFactory模式向我的WCF层发出请求。
然后将处理响应,用户要么显示他们请求的数据,要么显示错误。
通信(WCF层)
我们有两个要求,一个是互联网,另一个是内联网,所以我决定使用wsHttp作为互联网的传输级安全性,另一个可能使用另一种协议(也许是net绑定?)
这一层实际上只是作为外部世界和数据之间的缓冲区,所以它并没有做太多的事情。它简单地调用数据层中的一个或多个方法,这是下一个方法。
当响应来自数据层时,要么是数据(好的),要么是错误(坏的)。WCF服务将创建一个DataContract对象或一个FaultContract对象,并将其返回到网站。
数据层
对于数据层,我使用LINQ建立到数据库的连接,并处理来自WCF的请求。我打算将数据层放在数据库服务器上,因此它将作为自己的类库创建。
在数据层中,代码将尝试处理请求并将一个对象返回给WCF层。
基本上就是这样。我试图使这个系统尽可能的安全,并使它更易于维护,所以我们不需要重新安装的网站部分,每次我们做一个小的改变。我还包括WCF层,这样我们就可以使它更具弹性,因为它是一个业务关键系统。
我希望有任何关于我哪里出错的建议,或者一般性的评论:)
发布于 2013-07-12 14:58:45
这是一个相当大的话题,但我要说几句话:
不管怎么说,那只是我十便士的价值,上面的一切对我来说都是有效的!
https://stackoverflow.com/questions/17590049
复制相似问题