我正在开发具有许多自托管 WCF 服务的 Windows 服务。我将 Autofac 用于 DI/IoC。
WCF 服务和端点在 app.config 中设置,通过枚举配置的服务,Windows 服务能够ServiceHost
为每个配置的 WCF 服务自动创建和打开一个。
为了启用依赖注入,我为 的每个新实例添加了对AddDependencyInjectionBehavior
( docs ) 方法的调用ServiceHost
,但该方法专门请求一个contractType,此时我只有服务实现类型。
我可以通过使用反射查找实现的接口来检索合同类型,但由于这是我第一个使用 Autofac 的项目,我想确保我不会把这一切都弄错。
有没有一个优雅的解决方案,这是否被认为是不好的做法,或者在这种情况下反射是唯一的方法?
任何输入表示赞赏。