与其他项目(.NET)共享我的存储库(存储库模式)?

时间:2009-07-04 15:45:07

标签: c# .net repository repository-pattern business-logic

我正在尝试整理我的代码,我有许多项目都引用了我的服务层,即DLL。这意味着当我分发一个新的服务层时,我必须上传一些通常相同的服务层。

当然使用ADD Reference非常快,因为它的一个组件与另一个组件交谈......

我想知道替代方法的优点和缺点..

我可以使用web服务/ wcf来包装我的服务层,但这不是打败了对象..

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

我的服务层当然与我的数据层对话,我的客户直接与数据层交谈。

它是服务层的问题,这是我的业务逻辑在许多应用程序之间共享的地方..

桌面应用,2个x网站,2个wcf项目(用作网络服务)

关于如何在不重复我的代码的情况下实现最快可能的场景的任何建议,这对我现在正在做的事情起作用,即

每个应用程序(桌面,网站,wcf)都在同一个DLL上有副本并且有引用(在vs 2008中添加引用)..

想法?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我认为通过使用WCF(包装.net远程处理,msmq等)可以获得最佳效果。然后你就不必为每个程序复制一个dll ......他们只能指向一个WCF服务。这种面向服务的体系结构非常适合您所描述的内容。

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

以下是WCF的概述:http://msdn.microsoft.com/en-us/library/aa480210.aspx

希望这有帮助!

相关问题