gpt4 book ai didi

c# - 如何在 StructureMap 中使用 InstanceScope.HttpSession?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:03 25 4
gpt4 key购买 nike

我正在尝试使用 StructureMap 的 InstanceScope.HttpSession 功能,但遇到了问题。我有以下用于测试的方法:

public static class StructureMapTest {
public static T Get<T>() {
ObjectFactory.Configure(x => x.AddRegistry(new RepositoryRegistry()));
return ObjectFactory.GetInstance<T>();
}
}

我的 RepositoryRegistry 类如下所示:

public class RepositoryRegistry : Registry {
public RepositoryRegistry() {
ForRequestedType<IClientRepository>()
.CacheBy(InstanceScope.HttpSession)
.TheDefault.Is.OfConcreteType<ClientRepository>();
}
}

因此在我的客户端代码(ASP.NET MVC Controller )中,我执行如下操作:

public ActionResult InjectionTest() {
return Content(DataProvider.Clients.CreatedDate.ToString());
}

每次我从同一个 session 调用这个 Controller 时,我每次都会得到一个新实例。我在这里做错了什么?

最佳答案

将 ObjectFactory.Configure 移动到全局 asax。您不应该在每次请求对象时都重新配置结构图。

关于c# - 如何在 StructureMap 中使用 InstanceScope.HttpSession?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com