2009-08-06 14 views
0

Nous utilisons le code suivant dans un code behindlogiciel client Web usine propriété CreateNewAttribute ne fonctionne pas dans global.asax

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

et le code suivant dans la classe contrôleur

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

fonctionne ce bien pour une page aspx normale.

Je voudrais auditer un événement de démarrage de session dans mon application et j'utilise les événements global.asax pour le faire.

Cependant, le contrôleur n'a pas été instancié ici

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

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

Comment puis-je accéder au contrôleur de la page globale à l'aide du [CreateNew] attribut?

Répondre

0

Je n'ai pas trouvé comment accéder au contrôleur, mais je pourrais obtenir le service avec l'extrait de code suivant.

[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); 
    } 
}