相关疑难解决方法(0)

依赖注入 - 几个类方法中需要的新实例

我有一些看起来像这样的代码:

public MyService(IDependency dependency)
{
    _dependency = dependency;
}

public Message Method1()
{
    _dependency.DoSomething();

}

public Message Method2()
{
    _dependency.DoSomething();  
}

public Message Method2()
{
    _dependency.DoSomething();  
}
Run Code Online (Sandbox Code Playgroud)

现在我刚刚意识到,因为依赖对象包含内部状态信息.我需要在每个方法调用中新建一个新实例

那么最好的方法是什么,仍然没有新的具体实例?

您是否会使用IoC容器并在每个方法中调用容器?或者是否有一种更流畅的方式,您只能拨打一个容器?

如果我没有使用IoC容器怎么办?是否有办法不在每个方法中新建一个具体实例?

c# dependency-injection inversion-of-control

29
推荐指数
3
解决办法
7385
查看次数

为什么PerThreadLifetimeManager在此示例中使用?

我按照下面链接的示例来设置统一以使用我的服务层.我的项目设置与本文中的项目非常相似,我理解除了为什么在注册服务依赖项时使用PerThreadLifetimeManager的所有内容.请记住,我也在使用我的服务层中使用的通用存储库和单元工作.大多数统一示例使用默认(瞬态)生命周期管理器,因为我的设置类似于下面的设置,我想知道为什么我应该使用PerThreadLifeimeManager?我正在为我当前的表示层使用ASP.NET Web表单项目,如果它发生了任何变化.

container.RegisterType<ICatalogService, CatalogService>(new PerThreadLifetimeManager())
Run Code Online (Sandbox Code Playgroud)

在asp.net MVC 3中使用EF代码第一个依赖注入的存储库模式

dependency-injection unity-container unit-of-work object-lifetime repository-pattern

11
推荐指数
1
解决办法
5316
查看次数