- 如何访问
Container
实例了控制器的? - 我不得不使用
Container.Resolve
在我的课,但我怎么能访问Container
实例? - 是不是单身?
- 我可以使用
new Container()
或者是有像任何链Funq.StaticContainer
?
由于Mythz 为要旨暗示 ,a)或b)或c)。
我将使用Mythz的解决方案,它是由我接受,但也有人担心它的模式( ServiceLocator
模式),你可以在这里获得额外的信息 。
Container
实例了控制器的? Container.Resolve
在我的课,但我怎么能访问Container
实例? new Container()
或者是有像任何链Funq.StaticContainer
? 由于Mythz 为要旨暗示 ,a)或b)或c)。
我将使用Mythz的解决方案,它是由我接受,但也有人担心它的模式( ServiceLocator
模式),你可以在这里获得额外的信息 。
有一对夫妇的方式来静态引用您APPHOST实例。 您可以通过解析的依赖IAppHost实例与:
HostContext.TryResolve<T>();
HostContext.Resolve<T>();
HostContext.AppHost.TryResolve<T>();
如果由于某种原因,你需要访问的具体Funq.Container
,您可以通过单访问:
ServiceStackHost.Instance.Container
虽然服务,Razor视图页面,等你可以使用里面:
base.TryResolve<T>();