2013-04-08 26 views
9

tôi đã có sau trong Global.asax của tôi (Umbraco 4,7)Global.asax trong Umbraco 6

  • Application_Start
  • Application_EndRequest
  • Application_Error
  • session_start
  • Session_End

Bây giờ tôi đã nâng cấp lên Umbraco 6.0.3, toàn cầu.asa x được kế thừa từ Umbraco.Web.UmbracoApplication

Tôi đặt trình xử lý sự kiện của mình ở đâu (và tên phương thức tương đương) là gì?

Trả lời

18

Đây là những gì tôi đã tìm thấy từ trước tới nay.

Bạn có thể tạo lớp riêng bạn

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

Và có Global.asax kế thừa từ lớp học của bạn

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

phương pháp thay thế: Inherit ApplicationEventHandler - nhưng nó không làm việc cho tôi

+0

Cảm ơn bạn rất nhiều! – nrodic

+0

Bạn có thể cập nhật cho tôi nơi bạn đã lưu lớp Toàn cầu trong umbraco và tên lớp này là Global.cs hoặc Global.asax.cs? Tôi biết, điều này là kỳ lạ, nhưng nó không làm việc cho tôi, có thể là tôi đang thiếu một cái gì đó. –

+1

Mine là App_Code/Global.cs nhưng tôi không nghĩ tên tệp quan trọng – Aximili

Các vấn đề liên quan