Listens to new member events for cache refreshing

This commit is contained in:
Shannon
2013-10-18 16:23:33 +11:00
parent fca605287b
commit 6fd05ab6be
2 changed files with 25 additions and 3 deletions
+5 -3
View File
@@ -137,7 +137,7 @@ namespace Umbraco.Tests
var obj = new MyTestObject();
var result = obj.TryConvertTo<object>();
Assert.AreEqual(obj, result);
Assert.AreEqual(obj, result.Result);
}
private CultureInfo savedCulture;
@@ -145,7 +145,8 @@ namespace Umbraco.Tests
/// <summary>
/// Run once before each test in derived test fixtures.
/// </summary>
public override void TestSetup()
[SetUp]
public void TestSetup()
{
savedCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB"); // make sure the dates parse correctly
@@ -155,7 +156,8 @@ namespace Umbraco.Tests
/// <summary>
/// Run once after each test in derived test fixtures.
/// </summary>
public override void TestTearDown()
[TearDown]
public void TestTearDown()
{
Thread.CurrentThread.CurrentCulture = savedCulture;
return;
@@ -114,8 +114,11 @@ namespace Umbraco.Web.Cache
//Bind to member events
//TODO: Remove the legacy event handlers once we proxy the legacy members stuff through the new services
Member.AfterSave += MemberAfterSave;
Member.BeforeDelete += MemberBeforeDelete;
MemberService.Saved += MemberService_Saved;
MemberService.Deleting += MemberService_Deleting;
//Bind to media events
@@ -539,6 +542,23 @@ namespace Umbraco.Web.Cache
#endregion
#region Member event handlers
static void MemberService_Saved(IMemberService sender, Core.Events.SaveEventArgs<IMember> e)
{
foreach (var m in e.SavedEntities)
{
DistributedCache.Instance.RefreshMemberCache(m.Id);
}
}
static void MemberService_Deleting(IMemberService sender, Core.Events.DeleteEventArgs<IMember> e)
{
foreach (var m in e.DeletedEntities)
{
DistributedCache.Instance.RemoveMemberCache(m.Id);
}
}
static void MemberBeforeDelete(Member sender, DeleteEventArgs e)
{
DistributedCache.Instance.RemoveMemberCache(sender.Id);