首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >网站WCF设计模式

网站WCF设计模式
EN

Stack Overflow用户
提问于 2013-07-11 09:39:39
回答 1查看 290关注 0票数 2

我目前正在进行我的第一个适当的技术设计方案,以取代我们现有的解决方案之一。目前,我们有各种各样的网站,名义上做同样的事情。然而,其中有3或4个使用了经典的ASP,据我所知,它们从未被更新过,这意味着它们返回的数据最多是有缺陷的。

大多数用户使用的应用程序是SharePoint web部件,它使用ASP.net (3.5)动态创建多个输入框和组合框,这取决于它们访问的位置。所有配置都存储在SharePoint列表中(包括用于数据库访问的用户名和密码)。当用户单击“搜索”按钮时,它将调用一个存储过程,该存储过程处理并返回数据。这个存储过程是重写的另一个主要原因,因为许多开发人员多年来一直在开发它,而且没有一个开发人员对它们正在做的事情发表评论--返回几百条记录可能需要30多个小时,而且很多时候它甚至没有返回我所期望的内容。

所以,我终于得到了重写这个的许可,我想出了一个解决方案,我认为这个解决方案会奏效。然而,当我把它写下来的时候,我不相信这是正确的方法,所以我会感激任何比我更有知识的人。该应用程序将包括以下内容:

网站

该网站将是非常基本的-简单创建输入框的基础上,他们访问它的网址,并允许他们提交一个请求。

当用户单击submit按钮时,将使用ChannelFactory模式向我的WCF层发出请求。

然后将处理响应,用户要么显示他们请求的数据,要么显示错误。

通信(WCF层)

我们有两个要求,一个是互联网,另一个是内联网,所以我决定使用wsHttp作为互联网的传输级安全性,另一个可能使用另一种协议(也许是net绑定?)

这一层实际上只是作为外部世界和数据之间的缓冲区,所以它并没有做太多的事情。它简单地调用数据层中的一个或多个方法,这是下一个方法。

当响应来自数据层时,要么是数据(好的),要么是错误(坏的)。WCF服务将创建一个DataContract对象或一个FaultContract对象,并将其返回到网站。

数据层

对于数据层,我使用LINQ建立到数据库的连接,并处理来自WCF的请求。我打算将数据层放在数据库服务器上,因此它将作为自己的类库创建。

在数据层中,代码将尝试处理请求并将一个对象返回给WCF层。

基本上就是这样。我试图使这个系统尽可能的安全,并使它更易于维护,所以我们不需要重新安装的网站部分,每次我们做一个小的改变。我还包括WCF层,这样我们就可以使它更具弹性,因为它是一个业务关键系统。

我希望有任何关于我哪里出错的建议,或者一般性的评论:)

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 14:58:45

这是一个相当大的话题,但我要说几句话:

  1. 网站使用ASP.NET MVC
  2. 分离您的关注点,并使用IoC (例如,Unity )来模块化问题
  3. 尝试使用框架中提供的内置AuthenticationService特性
  4. 在网站中接口客户端代理,以便您可以热交换和模拟测试它。
  5. 使用实体框架而不是LINQ (这里只是个人偏好)
  6. 确保您使您的intranet WCF服务使用您所说的内容,如netTcp,并使用
  7. 尝试将FormsAuthentication与公共WCF服务结合使用,以减少安全需求的负担。您可能需要设置一个自定义消息拦截器来设置线程的主体。
  8. 提供所有消息类型( IOrder、ICustomer、IWhatever )的接口变体,并保持边界非常谨慎,以达到最大的模块化。

不管怎么说,那只是我十便士的价值,上面的一切对我来说都是有效的!

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

https://stackoverflow.com/questions/17590049

复制
相关文章

相似问题

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