9

我有一个使用从 Tridion 2011 SP1 发布的分析和个性化的 ASP.NET 页面 (index.aspx)。如果用户之前查看了 3 个标记为“golf”的页面(通过 cat+keywords),它只会显示一个动态组件演示文稿和第二个动态组件演示文稿。

我通过将 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

我检查了经纪人数据库,那里没有数据。我相信我的 cm_wai_conf.xml 文件配置正确。我读了这篇文章,建议 WAI 使用我添加到 Windows 的环境变量 REMOTE_USER ,但仍然没有运气。 http://sdltridionworld.com/articles/UsingPandPinDistributedEnvironments.aspx

有没有人遇到过这个错误并且可以提供帮助?如有必要,我可以提供我的 cd_wai_conf.xml 文件

在此先感谢,非常感谢您的帮助,这让我发疯了!

编辑:添加了配置文件 XML 不会在 StackOverflow 中呈现,所以我在 PasteBin 上添加了它:http: //pastebin.com/tHwqhwtq

4

2 回答 2

10

多谢你们。你是对的。我网站的 web.config 中未正确配置 WAIModule。我的站点在 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%

非常感谢你们在这里的时间。我希望这对将来的其他人有所帮助。

于 2012-07-27T13:15:33.500 回答
7

当您没有为用于访问 cd_wai_conf.xml 中的站点的 URL 配置演示文稿 ID 时,我已经看到了这一点。默认情况下,我相信这使用localhost. 确保为用于访问站点的任何 URL 定义了主机 URL。

还要仔细检查您的 WAI 模块是否已正确添加到您的 webb 应用程序的 web.config 中。在 IIS 中确保您的模块位于正确的位置,这可能会有所不同,具体取决于您使用的是 IIS6 还是更高版本,以及您的应用程序池是处于经典模式还是集成模式。

于 2012-07-26T17:29:22.293 回答