如何设置StructureMap 3生命周期

Mig*_*ura 6 structuremap structuremap3

在StructureMap 2中我有这样的事情:

For<ILogger>().HybridHttpOrThreadLocalScoped().Use<Logger>();
Run Code Online (Sandbox Code Playgroud)

使用Structure Map 3时,我应该使用以下内容吗?

For<ILogger>().LifecycleIs<HybridLifecycle>().Use<Logger>();
Run Code Online (Sandbox Code Playgroud)

然后我尝试将相同的更改应用于:

For<IDispatcher>().Transient().Use<Dispatcher>();
Run Code Online (Sandbox Code Playgroud)

我无法使用:

For<IDispatcher>().LifecycleIs<Transient>().Use<Dispatcher>();
Run Code Online (Sandbox Code Playgroud)

为什么?

谢谢你,米格尔

Vah*_*idN 8

首先,您需要安装新structuremap.web包.

PM> install-package structuremap.web
Run Code Online (Sandbox Code Playgroud)

然后将这些名称空间添加到您的类中

using StructureMap;
using StructureMap.Web;
using StructureMap.Web.Pipeline;
Run Code Online (Sandbox Code Playgroud)

现在您可以HybridHttpOrThreadLocalScoped()像以前一样访问了.