2009-07-04 81 views
0

我想清理我的代码,我有一些项目引用了我的服务层即DLL。这意味着当我发布一个新的服务层时,我必须上传一些通常相同的服务层..与其他项目(.NET)共享我的存储库(存储库模式)?

当然,使用ADD参考的速度非常快,因为它的一个装配与另一个装配交谈.. 。

我想知道的另一种方法的优点和缺点..

我可以使用web服务/ WCF来包装我的服务层,但不是这个击败对象..

而速度怎么样,现在我的桌面应用程序需要调用web服务/ wcf而不是访问程序集引用?

我的服务层会谈,当然我的数据层和我的客户nevere跟直接在数据层..

它是服务层,在那里我的业务逻辑是它当中的一些共同的问题应用程序..

桌面应用,2个网站,2×WCF项目(使用Web服务)

我如何能达到最快的可能之情况,而不必重复我的代码有什么建议这是影响我是什么现在正在做,即

每个应用程序(桌面,网站,wcf)都有相同的DLL上的副本,并且有参考文献(在vs 2008中添加参考)。

想法?

+0

@mark:为什么当你更新服务层时你需要上传任何东西?使用它的应用程序在准备好时应该会获得更新的版本。难道他们不想首先测试你的新版本吗? – 2009-07-04 15:50:05

回答

0

我想你会受益最好通过使用WCF(包装.net远程处理,MSMQ等)。那么你不必复制每个程序的DLL ...他们可以指向一个WCF服务。这种面向服务的体系结构非常适合您所描述的内容。

从我迄今为止的WCF经验来看,我没有注意到任何性能命中,特别是在内部网络上。

这里有一个WCF一个很好的概述:http://msdn.microsoft.com/en-us/library/aa480210.aspx

希望这有助于!

0

如果您主要在单个主机上部署应用程序,则选择在GAC中发布您的中间层,并为其提供适当的版本策略。

如果您在分布式环境中部署应用程序,请使用.NET Remoting/WS/WCF。我认为远程处理将是您场景中最快的选择。