Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolved issue serializing deleted keys to the server after call to Clear() #29

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions RedisSessionProvider/RedisSessionStateItemCollection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -572,14 +572,16 @@ public IEnumerable<KeyValuePair<string, string>> GetChangedObjectsEnumerator()
// because it will be removed by the Session provider once it reads from the
// enumerator we are returning
string remSerVal;
if(this.SerializedRawData.TryRemove(changeData.Key, out remSerVal))
{
// null means delete to the serializer, perhaps change this in the future
changedObjs.Add(
new KeyValuePair<string, string>(
changeData.Key,
null));
}
this.SerializedRawData.TryRemove(changeData.Key, out remSerVal);

// Regardless of if SerializedRawData found and removed the key, mark this as deleted
// to handle when Clear() is called, which clears all SerializedRawData immediately

// null means delete to the serializer, perhaps change this in the future
changedObjs.Add(
new KeyValuePair<string, string>(
changeData.Key,
null));
}
}

Expand Down