2013-04-08 20 views
9

ho avuto il seguente nel mio Global.asax (Umbraco 4,7)Global.asax in Umbraco 6

  • Application_Start
  • Application_EndRequest
  • Application_Error
  • Session_Start
  • Session_End

Ora ho aggiornato a Umbraco 6.0.3, che global.asa x eredita da Umbraco.Web.UmbracoApplication

Dove inserisco i gestori di eventi (e quali sono i nomi dei metodi equivalenti)?

risposta

18

Questo è quello che ho trovato finora.

È possibile creare la propria classe

public class Global : Umbraco.Web.UmbracoApplication 
{ 
    public void Init(HttpApplication application) 
    { 
    application.PreRequestHandlerExecute += new EventHandler(application_PreRequestHandlerExecute); 
    application.EndRequest += (new EventHandler(this.Application_EndRequest)); 
    //application.Error += new EventHandler(Application_Error); // Overriding this below 
    } 

    protected override void OnApplicationStarted(object sender, EventArgs e) 
    { 
    base.OnApplicationStarted(sender, e); 
    // Your code here 
    } 

    private void application_PreRequestHandlerExecute(object sender, EventArgs e) 
    { 
    try 
    { 
     if (Session != null && Session.IsNewSession) 
     { 
     // Your code here 
     } 
    } 
    catch(Exception ex) { } 
    } 

    private void Application_BeginRequest(object sender, EventArgs e) 
    { 
    try { UmbracoFunctions.RenderCustomTree(typeof(CustomTree_Manage), "manage"); } 
    catch { } 
    } 

    private void Application_EndRequest(object sender, EventArgs e) 
    { 
    // Your code here 
    } 

    protected new void Application_Error(object sender, EventArgs e) 
    { 
    // Your error handling here 
    } 
} 

E hanno Global.asax ereditano dalla classe

<%@ Application Codebehind="Global.asax.cs" Inherits="Global" Language="C#" %> 

Metodo alternativo: Inherit ApplicationEventHandler - ma non funziona per me

+0

Grazie molto tanto! – nrodic

+0

Potresti aggiornarmi dove hai salvato la classe Global in umbraco e questo nome di classe è Global.cs o Global.asax.cs? Lo so, questo è strano, ma non funziona per me, potrebbe essere mi manca qualcosa. –

+1

Il mio era App_Code/Global.cs ma non penso che il nome del file sia importante – Aximili