0

我们在代码隐藏页面中使用以下代码

[CreateNew]
public AdminController Controller { get; set; }

以及控制器类中的以下代码

[ServiceDependency]
public IAdminService Adminervice { get; set; }

这适用于普通的 aspx 页面。

我想在我的应用程序中审核一个会话开始事件,我正在使用 global.asax 事件来执行此操作。

但是控制器尚未在此处实例化

protected override void PrePageExecute(System.Web.UI.Page page)
{

    if (Controller == null)
    {
           // controller is null...
    }
}

如何使用 [CreateNew] 属性从全局页面访问控制器?

4

1 回答 1

0

我没有弄清楚如何访问控制器,但我可以使用以下代码片段获得服务。

[ServiceDependency]
public ICommonService CommonService { get; set; }

protected override void PrePageExecute(System.Web.UI.Page page)
{
    if (Session.IsNewSession)
    {
        if (CommonService == null)
        {
            WebClientApplication.BuildItemWithCurrentContext(this);
        }
        CommonService.AuditTrailLogin(true);
    }
}
于 2009-08-13T05:54:39.490 回答