2013-04-08 22 views
9

miałem następujący mi Global.asax (Umbraco 4.7)Global.asax w Umbraco 6

  • Application_Start
  • Application_EndRequest
  • Application_Error
  • session_start
  • Session_End

Teraz mam uaktualniony do Umbraco 6.0.3, który global.asa x dziedziczy po Umbraco.Web.UmbracoApplication

Gdzie umieszczam moje programy obsługi zdarzeń (i jakie są równoważne nazwy metod)?

Odpowiedz

18

Oto, co znalazłem do tej pory.

Można tworzyć własne klasy

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 
    } 
} 

I mieć Global.asax dziedziczą z klasy

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

metoda alternatywna: Inherit ApplicationEventHandler - ale to nie działa dla mnie

+0

Dziękuję bardzo dużo! – nrodic

+0

Czy możesz zaktualizować mnie, gdzie zapisałeś Global class w umbraco, a ta nazwa klasy to Global.cs lub Global.asax.cs? Wiem, to dziwne, ale to nie działa dla mnie, może być, że czegoś mi brakuje. –

+1

Mój był App_Code/Global.cs, ale nie sądzę, że nazwa pliku ma znaczenie – Aximili