在常见的用例场景下,类图的对象图如下:
问题在一个用例执行过程中,如何保证同一个界限上下文内的所有仓储实例可以共享同一个工作单元实例?解决方案1代码示例
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac;
namespace AutoFacStudy
{
class Program
{
static void Main(string[] args)
{
var buider = new ContainerBuilder();
buider.RegisterType<服务>();
buider.RegisterType<仓储A>();
buider.RegisterType<仓储B>();
buider.RegisterType<工作单元>().InstancePerLifetimeScope();
var container = buider.Build();
dynamic 服务 = container.Resolve<服务>();
//下边两行代码输出一样
Console.WriteLine(服务.仓储A.工作单元.GetHashCode());
Console.WriteLine(服务.仓储B.工作单元.GetHashCode());
}
}
public class 服务
{
private readonly 仓储A _仓储A;
private readonly 仓储B _仓储B;
public 服务(仓储A 仓储A, 仓储B 仓储B)
{
_仓储A = 仓储A;
_仓储B = 仓储B;
}
public 仓储A 仓储A
{
新闻热点
疑难解答
图片精选