0

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

当然,使用 ADD Reference 非常快,因为它的一个程序集与另一个程序集通信......

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

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

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

我的服务层当然与我的数据层对话,而我的客户从不直接与数据层对话..

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

桌面应用程序、2 个网站、2 个 wcf 项目(用作 Web 服务)

关于如何在不重复我的代码的情况下实现最快的场景的任何建议,这对我现在正在做的事情有影响,即

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

想法?

4

2 回答 2

0

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

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

于 2009-07-05T22:50:46.133 回答
0

我认为使用 WCF(包含 .net 远程处理、msmq 等)会让您受益最大。然后你就不必为每个程序复制一个 dll ......他们可以只指向一个 WCF 服务。这种面向服务的架构非常适合您所描述的内容。

根据我目前使用 WCF 的经验,我没有注意到任何性能问题,尤其是在内部网络上。

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

希望这可以帮助!

于 2009-07-06T01:43:52.470 回答