为什么ServiceStack的AppHostBase.Configure采用Container参数?

时间:2013-05-21 15:45:49

标签: servicestack

AppHostBase已经包含Container属性(如果已定义则解析为EndpointHost.Config.ServiceManager.Container),那么为什么不使用Instance.Container(例如,用于注册依赖项,插件等) 。)在Configure内或任何AppHost实现中的其他地方?

我注意到Configure是一个公共调用,因此技术上可以从任何地方调用,尽管AppHostBase.Init()似乎是ServiceStack代码库中唯一这样做的地方。

1 个答案:

答案 0 :(得分:1)

所有配置和注册都应该在AppHost.Configure(Container)方法的上下文中进行,之后它应该对ThreadSafety保持不可变(只读)。

传入Container,因为这是应该注册所有应用程序依赖项的地方。因此,应将Container属性本身视为只读,这就是IAppHost等核心类仅公开IResolver.TryResolve方法的原因。