c# - 如果返回 main
问题描述
我有构造函数注入,它解决了存储库依赖项。
存储库注册如下:
var container = new UnityContainer();
container.RegisterType<DbContext, ManagementContext>(new PerResolveLifetimeManager(), new InjectionConstructor());
container.RegisterType<IGenericRepository, GenericRepository>();
代码
问题服务
private readonly IGenericRepository _repository;
public IssueService(IGenericRepository repository)
{
_repository = repository;
}
public IssueRequest CreateAndProcess(IssueRequest issueRequest)
{
...
Task task = Task.Run(() => ProcessQIssueRequest(number));
task.ConfigureAwait(false);
return number;
}
private void ProcessQIssueRequest(int number)
{
try
{
...
}
catch (Exception ex)
{
_repository.InsertOrUpdate(entity);
_repository.SaveChanges();
}
}
WCF 服务
public class CrManagementService : ICrManagementService
{
private readonly IMapper _mapper;
public CrManagementService(IMapper mapper)
{
_mapper = mapper;
}
public string CreateAndProcessIssueRequest(IssueRequest contract)
{
try
{
IIssueService issueService = ContainerManager.Container.Resolve<IIssueService>();
issueRequest = issueService.CreateAndProcess(contract);
}
catch (Exception ex)
{
ThrowHelper.ReThrow(ex, string.Format("{0}={1}", nameof(issueRequest.Entity.CrName), issueRequest.Entity.CrName));
}
return issueRequest.CrNumber;
}
}
我的问题是:resolved_repository
将一直可用ProcessQIssueRequest
到最后,还是在CreateAndProcessIssueRequest
方法返回后立即销毁?
解决方案
推荐阅读
- forms - Ionic 3 表单仍然警告我:“表单中不包含密码字段”
- android - Runnable 无明显原因运行两次(在 DialogFragment 内)
- c# - 一对一关系实体框架出错
- oracle - 执行完成时,Oracle sql 不会从 temp 释放空间
- amazon-web-services - 无法将图像从 AWS ECR 拉到我在 AWS 上的 kubernetes 集群
- microsoft-graph-api - 无法使用 Microsoft Graph 资源管理器发送电子邮件
- java - 无法从 Maven 存储库中找到 play-services-maps.jar - 反应原生
- python - 更改部分变量的值 - Python
- html - 特定网页的 Firefox 字体呈现方式不同
- python - 删除 /。打印文件名时的空格