我有一个ASP.NET页面(index.aspx)使用从Tridion 2011 SP1发布的分析和个性化.如果用户先前已经将3个标签(通过猫关键字)标记为“高尔夫”,则只显示一个动态组件呈现和第二个动态组件呈现.
我通过将TBB的目标组个性化和“激活跟踪”添加到我的默认完成操作中来启动分析.我重新发布了页面,并看到它使用分析代码创建动态cp,一切顺利:
<tridion:ComponentPresentation runat="server" PageURI="tcm:8-667-64" ComponentURI="tcm:8-668" TemplateURI="tcm:8-666-32"/> <tridion:TargetGroup runat="server" ItemURI="tcm:8-667-64"> <tridion:Conditions runat="server" Negate="false" Operator="AND"> <tridion:Conditions runat="server" Negate="false" Operator="OR"> <tridion:Conditions runat="server" Negate="false" Operator="AND"> <tridion:Condition runat="server" Type="TrackingKey" Operator="=" Negate="false" Name="Golf" Value="3"/> </tridion:Conditions> </tridion:Conditions> </tridion:Conditions> <tridion:ComponentPresentation runat="server" PageURI="tcm:8-667-64" ComponentURI="tcm:8-663" TemplateURI="tcm:8-666-32"/> </tridion:TargetGroup> <tridion:IncrementKey runat="server" ItemURI="tcm:8-667-64" Name="Golf" ComponentURI="tcm:8-663"/>
问题:当我在浏览器中查看index.aspx时,会给我一个错误:
用户不能为空.请确保WAI配置正确
我检查了经纪人DB,那里没有数据.我相信我的cm_wai_conf.xml文件配置正确.我读了这篇文章,建议WAI使用环境变量REMOTE_USER,我添加到窗口,仍然没有运气.
http://sdltridionworld.com/articles/UsingPandPinDistributedEnvironments.aspx
有没有人经历过此错误,可以帮助?
如果需要,我可以提供我的cd_wai_conf.xml文件
提前感谢您的帮助非常感激,一直在驱使我疯狂!
编辑:添加配置文件
XML不会在StackOverflow中呈现,所以我已经在PasteBin中添加了它:
http://pastebin.com/tHwqhwtq
解决方法
多谢你们.你是对的. WAIModule在我的网站的web.config中未正确配置.我的网站运行在IIS7集成模式下,所以我配置如下:
<system.webServer> <directoryBrowse enabled="true" /> <modules> <add name="TridionWAIHttpModule" type="Tridion.ContentDelivery.Web.WAI.WAIModule,Tridion.ContentDelivery" preCondition="managedHandler" /> </modules> <validation validateIntegratedModeConfiguration="false"/></system.webServer>
这给了我一个新的错误“对象引用未设置为对象的实例”.我将AppPool更改为经典模式,并添加以下行:
<httpModules> <add type="Tridion.ContentDelivery.Web.WAI.WAIModule,Tridion.ContentDelivery" name="TridionWAIHttpModule" /> </httpModules>
该页面然后加载和分析和个性化工作100%
非常感谢你们这里的家伙.我希望这将有助于别人.