Apa tujuan global.asax di asp.net

100

Bagaimana kita bisa menggunakan global.asax di asp.net? Dan apa itu?

Harikrishna
sumber

Jawaban:

119

MSDN memiliki garis besar tujuan dari file global.asax.

Secara efektif, global.asax memungkinkan Anda untuk menulis kode yang berjalan sebagai respons terhadap peristiwa "level sistem", seperti aplikasi yang dimulai, sesi berakhir, kesalahan aplikasi yang terjadi, tanpa harus mencoba dan membunyikan kode itu ke setiap halaman situs Anda.

Anda dapat menggunakannya dengan memilih Add> New Item> Global Application Class di Visual Studio. Setelah Anda menambahkan file, Anda dapat menambahkan kode di bawah salah satu peristiwa yang terdaftar (dan dibuat secara default, setidaknya di Visual Studio 2008):

  • Application_Start
  • Application_End
  • Session_Start
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Aplikasi error

Ada peristiwa lain yang juga bisa Anda ikuti, seperti "LogRequest".

rampok
sumber
2
Entri untuk global.asax telah dihapus dari Wikipedia.
Cathy Sullivan
Bisakah kita menambahkan file global.asax untuk bentuk windows?
Jeeva Jsb
@JeevaJsb, no. Konten global.asax adalah (umumnya) peristiwa yang dipicu oleh siklus hidup aplikasi IIS / ASP.net sehingga tidak akan ada yang memicu kode dalam aplikasi WinForms.
Rob
Saya bertanya-tanya mengapa mereka tidak bisa hanya memiliki kode yang diturunkan dari kelas HttpApplication dan tidak memerlukan file asax. Global.asax.cs berisi semua hal jadi mengapa perlu file asax tertentu yang hanya berisi <% @ Application Codebehind = "Global.asax.cs" Inherits = "XXXXX" Language = "C #"%>
Sederhana Rekan
67

Peristiwa asax global menjelaskan

Application_Init: Diaktifkan saat aplikasi menginisialisasi atau dipanggil pertama kali. Ini dipanggil untuk semua instance objek HttpApplication.

Application_Disposed: Diaktifkan tepat sebelum aplikasi dihancurkan. Ini adalah lokasi yang ideal untuk membersihkan sumber daya yang sebelumnya digunakan.

Application_Error: Diaktifkan saat pengecualian yang tidak tertangani ditemukan dalam aplikasi.

Application_Start: Diaktifkan ketika instance pertama dari kelas HttpApplication dibuat. Ini memungkinkan Anda membuat objek yang dapat diakses oleh semua instance HttpApplication.

Application_End: Diaktifkan ketika instance terakhir dari kelas HttpApplication dihancurkan. Itu ditembakkan hanya sekali selama masa pakai aplikasi.

Application_BeginRequest: Diaktifkan saat permintaan aplikasi diterima. Ini adalah peristiwa pertama yang dipicu untuk permintaan, yang sering kali merupakan permintaan halaman (URL) yang dimasukkan pengguna.

Application_EndRequest: Peristiwa terakhir yang dijalankan untuk permintaan aplikasi.

Application_PreRequestHandlerExecute: Diaktifkan sebelum kerangka halaman ASP.NET mulai menjalankan pengendali kejadian seperti halaman atau layanan Web.

Application_PostRequestHandlerExecute: Diaktifkan ketika kerangka halaman ASP.NET selesai menjalankan penangan kejadian.

Applcation_PreSendRequestHeaders: Diaktifkan sebelum kerangka halaman ASP.NET mengirimkan header HTTP ke klien yang meminta (browser).

Application_PreSendContent: Diaktifkan sebelum kerangka halaman ASP.NET mengirimkan konten ke klien yang meminta (browser).

Application_AcquireRequestState: Diaktifkan ketika kerangka halaman ASP.NET mendapatkan status saat ini (status Sesi) yang terkait dengan permintaan saat ini.

Application_ReleaseRequestState: Diaktifkan saat kerangka halaman ASP.NET menyelesaikan eksekusi semua penangan peristiwa. Ini menghasilkan semua modul status untuk menyimpan data status mereka saat ini.

Application_ResolveRequestCache: Diaktifkan saat kerangka halaman ASP.NET menyelesaikan permintaan otorisasi. Ini memungkinkan modul caching untuk melayani permintaan dari cache, sehingga melewati eksekusi handler.

Application_UpdateRequestCache: Diaktifkan ketika kerangka halaman ASP.NET menyelesaikan eksekusi penangan untuk memungkinkan modul caching menyimpan tanggapan yang akan digunakan untuk menangani permintaan berikutnya.

Application_AuthenticateRequest: Diaktifkan ketika modul keamanan telah menetapkan identitas pengguna saat ini sebagai valid. Pada tahap ini, kredensial pengguna telah divalidasi.

Application_AuthorizeRequest: Diaktifkan ketika modul keamanan telah memverifikasi bahwa pengguna dapat mengakses sumber daya.

Session_Start: Diaktifkan ketika pengguna baru mengunjungi situs Web aplikasi.

Session_End: Diaktifkan ketika sesi pengguna habis waktu, berakhir, atau mereka meninggalkan situs Web aplikasi.

Nithin Paul
sumber
6

Global.asax adalah file aplikasi asp.net.

Ini adalah file opsional yang menangani peristiwa yang dimunculkan oleh ASP.NET atau oleh HttpModules. Sebagian besar digunakan untuk aplikasi dan acara awal / akhir sesi dan untuk penanganan kesalahan global.

Saat digunakan, itu harus di root situs web.

Oded
sumber
3

Direktori root aplikasi web memiliki arti khusus dan konten tertentu dapat ada di folder itu. Ini dapat memiliki file khusus yang disebut sebagai "Global.asax". Kerangka kerja ASP.Net menggunakan konten di global.asax dan membuat kelas saat runtime yang diwarisi dari HttpApplication. Selama masa aplikasi, ASP.NET memelihara kumpulan contoh HttpApplication yang diturunkan dari Global.asax. Ketika aplikasi menerima permintaan http, kerangka halaman ASP.Net menetapkan salah satu contoh ini untuk memproses permintaan itu. Instance tersebut bertanggung jawab untuk mengelola seluruh masa waktu permintaan yang ditugaskan padanya dan instance tersebut hanya dapat digunakan kembali setelah permintaan selesai ketika dikembalikan ke kumpulan. Anggota contoh di Global.asax tidak dapat digunakan untuk berbagi data di seluruh permintaan tetapi anggota statis dapat. Global.

sandeep mvn
sumber
1

Global.asax dapat digunakan untuk menangani kejadian yang timbul dari aplikasi. Tautan ini memberikan penjelasan yang bagus: http://aspalliance.com/1114

Matt
sumber