Applying the RequireNew pattern correctly

This commit is contained in:
Sebastien Ros
2014-08-28 13:58:44 -07:00
parent 7b565c0517
commit eccea78185
4 changed files with 6 additions and 3 deletions

View File

@@ -42,6 +42,7 @@ namespace Orchard.Core.Scheduling.Services {
foreach (var taskEntry in taskEntries) { foreach (var taskEntry in taskEntries) {
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_contentManager.Clear();
try { try {
// fetch the task // fetch the task

View File

@@ -89,6 +89,7 @@ namespace Orchard.Azure.MediaServices.Services.Assets {
pendingAsset.UploadState.BytesComplete = 0; pendingAsset.UploadState.BytesComplete = 0;
pendingAsset.UploadState.CompletedUtc = null; pendingAsset.UploadState.CompletedUtc = null;
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_contentManager.Clear();
var assetProgressMoniker = Guid.NewGuid(); var assetProgressMoniker = Guid.NewGuid();
var assetCancellationTokenSource = new CancellationTokenSource(); var assetCancellationTokenSource = new CancellationTokenSource();
@@ -185,6 +186,7 @@ namespace Orchard.Azure.MediaServices.Services.Assets {
if ((_clock.UtcNow - lastUpdateUtc).Seconds >= 5) { if ((_clock.UtcNow - lastUpdateUtc).Seconds >= 5) {
progressAsset.UploadState.BytesComplete = progressInfo.Data.BytesTransferred; progressAsset.UploadState.BytesComplete = progressInfo.Data.BytesTransferred;
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_contentManager.Clear();
lastUpdateUtc = _clock.UtcNow; lastUpdateUtc = _clock.UtcNow;
} }

View File

@@ -195,8 +195,8 @@ namespace Orchard.Indexing.Services {
loop = false; loop = false;
} }
else { else {
_contentManager.Clear();
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_contentManager.Clear();
} }
@@ -250,8 +250,8 @@ namespace Orchard.Indexing.Services {
loop = false; loop = false;
} }
else { else {
_contentManager.Clear();
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_contentManager.Clear();
} }
} }
while (loop); while (loop);

View File

@@ -62,8 +62,8 @@ namespace Orchard.Recipes.RecipeHandlers {
//Create a new transaction for each batch //Create a new transaction for each batch
if (startIndex < elementDictionary.Count) { if (startIndex < elementDictionary.Count) {
_orchardServices.ContentManager.Clear();
_transactionManager.RequireNew(); _transactionManager.RequireNew();
_orchardServices.ContentManager.Clear();
} }
} }
} }