维护数据根据发送端加锁
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
b12079f8d9
commit
aff1f5b599
|
@ -126,16 +126,25 @@ namespace IRaCIS.Core.SCP.Service
|
||||||
|
|
||||||
public async Task OnReceiveAssociationReleaseRequestAsync()
|
public async Task OnReceiveAssociationReleaseRequestAsync()
|
||||||
{
|
{
|
||||||
await DataMaintenanceAsaync();
|
var _distributedLockProvider = _serviceProvider.GetService<IDistributedLockProvider>();
|
||||||
|
|
||||||
//记录监控
|
var @lock = _distributedLockProvider.CreateLock($"{_upload.CallingAE}");
|
||||||
|
|
||||||
var _SCPImageUploadRepository = _serviceProvider.GetService<IRepository<SCPImageUpload>>();
|
using (await @lock.AcquireAsync())
|
||||||
|
{
|
||||||
|
|
||||||
_upload.EndTime = DateTime.Now;
|
await DataMaintenanceAsaync();
|
||||||
_upload.StudyCount = _SCPStudyIdList.Count;
|
|
||||||
|
|
||||||
await _SCPImageUploadRepository.AddAsync(_upload,true);
|
//记录监控
|
||||||
|
|
||||||
|
var _SCPImageUploadRepository = _serviceProvider.GetService<IRepository<SCPImageUpload>>();
|
||||||
|
|
||||||
|
_upload.EndTime = DateTime.Now;
|
||||||
|
_upload.StudyCount = _SCPStudyIdList.Count;
|
||||||
|
|
||||||
|
await _SCPImageUploadRepository.AddAsync(_upload, true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
await SendAssociationReleaseResponseAsync();
|
await SendAssociationReleaseResponseAsync();
|
||||||
}
|
}
|
||||||
|
@ -263,7 +272,7 @@ namespace IRaCIS.Core.SCP.Service
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.Dataset, storeRelativePath, Association.CallingAE, Association.CalledAE,fileSize);
|
var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.Dataset, storeRelativePath, Association.CallingAE, Association.CalledAE, fileSize);
|
||||||
|
|
||||||
if (!_SCPStudyIdList.Contains(scpStudyId))
|
if (!_SCPStudyIdList.Contains(scpStudyId))
|
||||||
{
|
{
|
||||||
|
@ -315,7 +324,7 @@ namespace IRaCIS.Core.SCP.Service
|
||||||
|
|
||||||
//监控信息设置
|
//监控信息设置
|
||||||
_upload.FileCount++;
|
_upload.FileCount++;
|
||||||
_upload.FileSize= _upload.FileSize+ fileSize;
|
_upload.FileSize = _upload.FileSize + fileSize;
|
||||||
return new DicomCStoreResponse(request, DicomStatus.Success);
|
return new DicomCStoreResponse(request, DicomStatus.Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue