Visitor Profiles in HttpRequestBegin Pipeline?
Posted
Thursday, June 7, 2012 11:51 AM
by
Kevin
Sorry that this isn't a tutorial-style post today, but I promise if I get all of this working that I will post the full story in a few days. For now, I'm having a Sitecore problem...
I have an HttpRequestBegin pipeline processor that runs right after the stock ItemResolver. I need for it to read a value from the current visitor's profile (or if a value isn't there, write one). Here's what my code looks like:
var currentRow = Sitecore.Analytics.Tracker.CurrentVisit.Profile.FirstOrDefault(row => (row.ProfileName == "foo" ));
if ( currentRow == null )
{
currentRow = Sitecore.Analytics.Tracker.CurrentVisit.CreateProfile("foo");
currentRow.PatternValues = "bar";
currentRow.AcceptChanges();
Sitecore.Analytics.Tracker.CurrentVisit.AcceptChanges();
}
This code when placed in a sublayout works as expected - the first time, the profile value is created and subsequent times it is read back out. However, doing this in the HttpRequestBegin pipeline seems to have no effect at all. Anyone know - is there no way to interact with the current visitor's profile in the pipeline?
There's actually a lot more going on here involving rules engine, etc... As I said, I'll post the full story if I can get it working 'cause it's pretty neat. But for now, I have to get past this particular hurdle...
If you want to contact me regarding this post, it's probably best to use Twitter. You can DM me at @williamsk000