如何封装WCF服务的代码而不使用基类

本文关键字:代码 基类 服务 何封装 封装 WCF | 更新日期: 2023-09-27 18:10:47

我们所有的服务都接受ServiceCallContext对象作为参数。然后,该服务创建一个代理,并根据ServiceCallContext告诉代理要使用哪个连接字符串。

换句话说,我们的一些客户有自己的数据库,因此服务调用必须将代理指向他们的数据库。

我想使用查看ServiceCallContext并选择正确连接并将其放入基服务类的代码。我的团队领导不喜欢这个想法,因为对于服务来说,他觉得这是一种"隐藏"行为,这将是一件坏事。他建议通过某种WCF扩展可能有更好的方法来完成同样的事情。

我真的不在乎我们如何实现代码,只要我可以重用它,因为我认为在我创建的每个服务中重写它绝对是愚蠢的。我开始在PluralSight上查看一些WCF视频,看起来它可以做很多很棒的事情,但不幸的是我不太确定从哪里开始。谁能给我一点方向,是否WCF可以完成我想做的事情,如果是这样的话,我在寻找WCF的什么特殊功能?

如何封装WCF服务的代码而不使用基类

你需要的功能是一个自定义拦截器。

这允许您告诉WCF堆栈查看传入消息并基于它们执行一些操作。如果你把拦截器封装到它自己的程序集中,那么你就可以从多个服务中引用它。