A. *_*ich 4 sitecore sitecore-ecm sitecore8 sitecore-exm
我们遇到以下问题:当我们通过EXM发送电子邮件时,电子邮件正文中的链接对某些用户不起作用.
默认情况下,电子邮件正文中的链接始终转换为:
http://domainname/sitecore/RedirectUrlPage.aspx?ec_contact_id=xxxx84B137D2037C7D180&ec_message_id=xxxxB4CEAA3FD1A3B&ec_url=%2fthelinkpath
Run Code Online (Sandbox Code Playgroud)
这显然是出于跟踪原因而完成的.
但是,某些用户在导航链接时会遇到404错误.日志总是说如下:
ERROR EmailCampaign: Object reference not set to an instance of an object.
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Analytics
at Sitecore.Analytics.Tracking.StandardSession.InitializePage(ICurrentPageContext currentPageContext, ICurrentPageContext oldPage)
at Sitecore.Analytics.Tracking.StandardSession.Identify(String userName)
at Sitecore.Modules.EmailCampaign.Core.Pipelines.RedirectUrl.IdentifyContact.Process(RedirectUrlPipelineArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Modules.EmailCampaign.UI.RedirectUrlPage.HandleMessageEvent(ID messageId, ID contactId)
at Sitecore.Modules.EmailCampaign.UI.MessageEventPage.OnLoad(EventArgs e)
Run Code Online (Sandbox Code Playgroud)
为用户修复此错误的唯一方法是清除其Cookie或使用其他浏览器或使用隐身模式.用户当前已从网站注销.
Sitecore版本8.0 + EXM
以前有人遇到过这个问题吗?
实际上,这是因为以前会议中存储的cookie,谢谢Tchami.
Sitecore支持的答案是相同的:
当您在同一浏览器中打开多个contactId的多封邮件时,会发生此错误.
但除了清除cookie或使用其他浏览器外,他们没有提出任何解决方案.
但是,即使对于这种很少出现的情况,我们也不想打破用户体验.
因此,为了处理异常,我们发现应该重写以下管道处理器:
<processor type ="Sitecore.Modules.EmailCampaign.Core.Pipelines.RedirectUrl.IdentifyContact, Sitecore.EmailCampaign" />
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看自定义处理器的代码.
归档时间: |
|
查看次数: |
630 次 |
最近记录: |