2009-08-06 5 views
0

Wir sind den folgenden Code in einem Code-Behind-Seite mitWeb-Client-Software Fabrik CreateNewAttribute Eigenschaft funktioniert nicht in global.asax

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

und dem folgenden Code in der Controller-Klasse

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

diese Werke gut für eine normale Aspx-Seite.

Ich möchte ein Session-Startereignis in meiner Anwendung überwachen und ich verwende die Global.asax-Ereignisse dazu.

jedoch der Controller wurde hier nicht instanziiert

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

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

Wie kann ich den Controller aus der globalen Seite Zugriff über die Tasten [CreateNew] Attribut?

Antwort

0

Ich habe nicht herausgefunden, wie Sie auf den Controller zugreifen, aber ich konnte den Dienst mit dem folgenden Codeschnipsel erhalten.

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