当重写AutofacServiceHostFactory时,我们应该使用重写还是使用静态构造函数?

本文关键字:重写 构造函数 静态 AutofacServiceHostFactory 我们 | 更新日期: 2023-09-27 18:04:19

我们使用net运行WCF服务。在IIS 7.5中使用tcp绑定,因此我们使用非http激活和WAS Hosting。我们已经为每个服务创建了一个自定义服务主机工厂,它派生自AutofacServiceHostFactory

我最近在做一些服务维护(切换到使用NuGet包升级到最新版本等)。我碰巧注意到wiki上关于WCF Integration的文章建议使用覆盖CreateServiceHost(string constructorString, Uri[] baseAddresses),并在调用基本实现之前在那里构建容器。

我们的ServiceHostFactories已经使用一个静态构造函数来做同样的事情。我在想要不要换一下。静态构造函数是一个坏主意,有什么原因吗?如果使用覆盖,我们需要覆盖CreateServiceHost()的任何其他重载。

谢谢你的帮助!

当重写AutofacServiceHostFactory时,我们应该使用重写还是使用静态构造函数?

似乎建议再次更改为使用AppStart.AppInitialize()来注册依赖关系并在协议无关的派系中构建容器。这就是我们现在正在做的。

Autofac维基引用文章