我正在开发一个带有许多自托管WCF服务的Windows服务 . 我正在使用Autofac进行DI / IoC .
WCF服务和 endpoints 在app.config中设置,并且enumerating the configured services,Windows服务能够为每个配置的WCF服务自动创建和打开 ServiceHost
.
为了启用依赖注入,我为 ServiceHost
的每个新实例添加了对 AddDependencyInjectionBehavior
(docs)方法的调用,但该方法专门请求 contractType ,此时我只有服务实现类型 .
我可以通过使用反射查找已实现的接口来检索 Contract 类型,但由于这是我使用Autofac的第一个项目,我想确保我不会错过这一切 .
有没有一个优雅的解决方案,这是任何一个被认为是不好的做法,还是反映在这种情况下唯一的方法?
任何输入都表示赞赏 .
1 回答
您可以尝试枚举ServiceHost的所有 endpoints ,并从那里提取ContractType .