Apa arti kata HttpContext dalam .ashx? Mari kita bicarakan dengan Anda
Kelas HttpContext: Merangkum semua informasi khusus HTTP tentang permintaan HTTP individual.
Di setiap tahap rantai eksekusi permintaan pemrosesan, ada objek yang melewati antara setiap objek, yaitu informasi konteks permintaan disimpan, yang merupakan objek HttpContext. HttpContext merangkum semua informasi ASP.NET satu permintaan yang akan diproses. Saat mekanisme penanganan permintaan dibuat, kelas HttpContext dibuat dengan objek HttpRuntime, yang kemudian melalui berbagai tahap masa pakai permintaan
Pengantar HttpContext: Pertahankan data untuk satu pengguna, satu permintaan, dan data hanya disimpan selama durasi permintaan tersebut. disediakan untuk mempertahankan nilai yang perlu diteruskan antara HttpModules dan HttpHandler yang berbeda. Ini juga dapat digunakan untuk menyimpan informasi yang sesuai untuk permintaan lengkap.
Properti Current adalah anggota statis berguna yang mengembalikan objek HttpContex yang saat ini diminta. Item adalah tabel hash yang berbagi data antara modul dan penangan yang terlibat dalam pemrosesan permintaan. Setiap modul atau handler kustom dapat menambahkan informasinya sendiri ke objek HttpContext yang diminta, dan informasi yang disimpan dalam Item akhirnya digunakan oleh halaman, tetapi informasi ini hanya dapat diakses selama eksekusi permintaan Konteks http Definisi: Merangkum semua informasi khusus HTTP tentang permintaan HTTP individual.
Faktanya, permintaan Http dan semua informasi yang dikembalikan ada di dalamnya.
HttpContext berasal dari System.Runtime.Remoting.Messaging.CallContext.HostContext. Definisi HostContext ini adalah untuk mendapatkan atau mengatur konteks host yang terkait dengan utas saat ini (sehingga HttpContext hanya dapat digunakan dalam utas permintaan saat ini. )
HttpContext sebenarnya disimpan di properti CallContext.HostContextJika Anda masih penasaran dengan HostContext, Anda dapat melihatnya sendiri dengan Reflector.exe, saya tidak ingin memposting kode lagi, karena beberapa jenis dan metode tidak bersifat publik.
HttpContext.Current.Items dapat digunakan saat berbagi data antara HttpModule dan HTTPHandler, karena setiap permintaan pengguna melalui alur runtime HTTP HttpModule, HTTPHandler. Saat Anda mengimplementasikan metode IHttpMoudle untuk meneruskan informasi ke permintaan pengguna melalui HttpMoudle. Anda dapat menggunakan HttpContext.Current.Items untuk mentransfer data di halaman permintaan yang berbeda dan HttpModules yang berbeda, tetapi setelah permintaan berakhir dan data diposting, data dalam koleksi ini akan hilang dengan sendirinya.
Misalnya, setiap kali kita membuat permintaan, kita ingin menggunakan objek konteks DbContext yang sama di ef, dan kodenya adalah sebagai berikut:
|