我已经多次看到过,在一个解决方案中,有一个ASP.NET网站,只有该网站才能使用WCF?添加Web服务与直接访问数据库的网站有什么好处?网站可以做网络服务所做的一切,不是多余的吗?
答案 0 :(得分:2)
这取决于你想要什么,因为它是一个巨大的话题。我们倾向于使用WCF,我们希望在表示和业务逻辑/数据层之间保持关注点的分离。这也意味着我们可以在托管网站的不同服务器上托管我们的服务,从安全和性能的角度来看,这很方便。
安全方面明智的WCF在处理流量加密方面要好得多,你可以使用wsHttp协议在没有任何实际工作的情况下做到这一点。
如果你所做的只是一个非常简单的网站,那么WCF服务肯定是矫枉过正,但随着你变得越来越复杂 - 特别是如果涉及数据库数据那么它会变得越来越有吸引力。
答案 1 :(得分:2)
如果网站和服务托管在同一台机器上,那对我来说肯定看起来像是一个过度工作的架构。
这样做的一个可能原因是,如果Web服务保留某种状态/缓存,或者当网站的应用程序池被回收时,您不希望中止后台任务。
但一般来说,它看起来就像糟糕的设计/架构。
答案 2 :(得分:0)
SOA是优势。 http://en.wikipedia.org/wiki/Service-oriented_architecture
考虑这个例子。您的网站提供3项服务,例如userservice1,userservice2和userservice3。每个服务包含以下与数据库交互的步骤。 userservice1:login,connectionconfig,servicedataexchange1。 userservice2:login,connectionconfig,servicedataexchange2。 userservice3:login,connectionconfig,servicedataexchange3。 和servicedataexchange包含variou活动或动作,如, servicedataexchange1:con1,dataexch1,dataexch0 servicedataexchange2:CON2,dataexch1,dataexch2,dataexch0 servicedataexchange3:con1 dataexch0
现在,为了在没有webservice的情况下实现这3个服务,你需要使用冗余方法编写冗余程序。 这就是为什么我的朋友你将实施webservice以避免这种冗余。
就像你必须编写一个登录方法或一个con1方法等,每个服务都可以在需要时使用它。
noboday已经看到了未来,如果您需要从其他服务器消耗或托管网络中的少量服务,那么无论如何您必须实现此架构。