【问题标题】:Kentico Tapping into Page Level EventsKentico 利用页面级事件
【发布时间】:2015-04-08 01:13:52
【问题描述】:

我们正在 Kentico 以外的数据库中创建网络事件。然后将这些网络事件用于企业报告。我需要在 Kentico 项目中实现相同的功能。

  1. 页面加载后是否有可以触发的事件,以便我可以在登录时创建包含页面名称和用户信息的 Web 事件。

  2. 我过去也看到,对于事件,Request 和 Session 对象不可用。但是,HTTPContext.Current 是可用的。我需要 Request 和 Session 对象。

我们正在使用 Kentico 7.0.92 版并拥有一个门户模板网站。

现在,我不想使用门户模板页面来创建事件,因为此代码在每次请求页面时都会执行多次。

基本上,我对 PageName、Session 和 Request 对象感兴趣。

我环顾了Kentico 7 documentation。看起来我们有 CMSRequestEvents 但找不到示例代码。

更新: 看起来缺少的部分是CMSContext class。现在只是试图为 CMSRequestEvents 找到正确的事件,其中我有可用的 Session 对象。

【问题讨论】:

    标签: events kentico


    【解决方案1】:

    我建议通过以下方式修改Kentico\CMS\Global.asax.cs

    public override void Init()
    {
        base.Init();
        CMSRequestEvents.AcquireRequestState.After += AcquireRequestState_After;
    }
    
    void AcquireRequestState_After(object sender, EventArgs e)
    {
        // Do your stuff...
    }
    

    到那时HttpContext.Current.Session should already be initialized。页面名称可以从HttpContext.Current.Request 中检索,该HttpContext.Current.Request 不应为空。

    【讨论】:

    • 再次感谢您的信息。
    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    相关资源
    最近更新 更多