我们想要做的是在服务上使用典型的POCO对象。现在,我知道服务真的是为了提供单点功能,但实际上,我们在这里要解决的问题是实现与类库相同的可用性(POCO功能,如属性,构造函数和行为)在已编译的库中)以及具有集中,可重用的程序集的好处,该程序集被称为“即时”。这样,我们可以构建库,并将其重新部署到一个位置,并且将更新引用它的所有应用程序。
WCF似乎并不真正支持这一点,我可以理解为什么。在大多数情况下,人们倾向于谦逊地嗤之以鼻,并问“为什么要这样做?”。好吧,我在这里回答了。那么我真正想知道的是应该在哪里寻求实现这种“中央类库”?我不觉得服务是答案,但我需要实现一个可以像服务一样访问的中央类库。这样,该类库的更新将透明地影响所有引用它的应用程序,而不必在每个应用程序中重新引用它。这有意义吗? TIA
更新: 想一想。将程序集添加到应用程序服务器的GAC是不是很愚蠢?
答案 0 :(得分:0)
我最终做的是创建一个包装Web服务的类库。所有业务逻辑都保留在类库中,而所有数据访问都是通过服务完成的。这隐藏了客户端编程中任何复杂的ping ponging,并使一些非常简单和干净的页面。
在旁注中,事实证明在WCF服务中创建的对象仍然支持抽象,所以我能够利用它。我为具有匹配类库对象的服务数据传输对象创建了一个命名约定。库对象具有与服务对象相同的属性名称,以及它们需要执行的任何其他属性(我将它们按区域分隔)。
所以我认为这是更正确的服务使用,几乎解决了我的问题。相当多的额外工作,但现在我们有一个更灵活的架构,既松散耦合又高度凝聚力。