2009-08-06 24 views
0

不工作,我们正在使用下面的代码的代码页背后Web客户端软件工厂CreateNewAttribute财产在Global.asax中

[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]属性的全局页面访问控制器?

回答

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); 
    } 
} 
相关问题