Bagikan melalui


HttpServerUtility.Transfer Metode

Definisi

Mengakhiri eksekusi halaman saat ini dan memulai eksekusi halaman baru untuk permintaan saat ini.

Overload

Nama Deskripsi
Transfer(String)

Untuk permintaan saat ini, mengakhiri eksekusi halaman saat ini dan memulai eksekusi halaman baru dengan menggunakan jalur URL halaman yang ditentukan.

Transfer(String, Boolean)

Mengakhiri eksekusi halaman saat ini dan memulai eksekusi halaman baru dengan menggunakan jalur URL halaman yang ditentukan. Menentukan apakah akan menghapus QueryString koleksi dan Form .

Transfer(IHttpHandler, Boolean)

Mengakhiri eksekusi halaman saat ini dan memulai eksekusi permintaan baru dengan menggunakan handler HTTP kustom yang mengimplementasikan IHttpHandler antarmuka dan menentukan apakah akan menghapus QueryString koleksi dan Form .

Transfer(String)

Untuk permintaan saat ini, mengakhiri eksekusi halaman saat ini dan memulai eksekusi halaman baru dengan menggunakan jalur URL halaman yang ditentukan.

public:
 void Transfer(System::String ^ path);
public void Transfer(string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)

Parameter

path
String

Jalur URL halaman baru di server yang akan dijalankan.

Keterangan

Halaman yang ditransfer harus menjadi halaman .aspx lain. Misalnya, transfer ke halaman .asp atau .asmx tidak valid. Metode ini Transfer mempertahankan QueryString koleksi dan Form .

Transfer Endpanggilan , yang melemparkan ThreadAbortException pengecualian setelah selesai.

ASP.NET tidak memverifikasi bahwa pengguna saat ini berwenang untuk melihat sumber daya yang Transfer dikirimkan oleh metode . Meskipun logika otorisasi dan autentikasi ASP.NET berjalan sebelum penanganan sumber daya asli dipanggil, ASP.NET langsung memanggil handler yang ditunjukkan oleh Transfer metode dan tidak menjalankan kembali logika autentikasi dan otorisasi untuk sumber daya baru. Jika kebijakan keamanan aplikasi Anda mengharuskan klien memiliki otorisasi yang sesuai untuk mengakses sumber daya, aplikasi harus memaksa autentikasi ulang atau menyediakan mekanisme kontrol akses kustom.

Anda dapat memaksa otorisasi ulang dengan menggunakan Redirect metode alih-alih Transfer metode . Metode ini Redirect melakukan pengalihan sisi klien di mana browser meminta sumber daya baru. Karena pengalihan ini adalah permintaan baru yang memasuki sistem, pengalihan ini tunduk pada semua logika autentikasi dan otorisasi dari Internet Information Services (IIS) dan kebijakan keamanan ASP.NET.

Anda dapat memverifikasi bahwa pengguna memiliki izin untuk melihat sumber daya dengan menggabungkan metode otorisasi kustom yang menggunakan IsInRole metode sebelum aplikasi memanggil Transfer metode .

Berlaku untuk

Transfer(String, Boolean)

Mengakhiri eksekusi halaman saat ini dan memulai eksekusi halaman baru dengan menggunakan jalur URL halaman yang ditentukan. Menentukan apakah akan menghapus QueryString koleksi dan Form .

public:
 void Transfer(System::String ^ path, bool preserveForm);
public void Transfer(string path, bool preserveForm);
member this.Transfer : string * bool -> unit
Public Sub Transfer (path As String, preserveForm As Boolean)

Parameter

path
String

Jalur URL halaman baru di server yang akan dijalankan.

preserveForm
Boolean

true untuk mempertahankan QueryString koleksi dan Form ; false untuk menghapus QueryString koleksi dan Form .

Pengecualian

Permintaan halaman saat ini adalah panggilan balik.

Contoh

Contoh berikut menjalankan halaman baru di direktori yang sama dengan halaman saat ini.

Server.Transfer("Logon.aspx", true);

Server.Transfer("Logon.aspx", true)

Keterangan

Halaman yang ditransfer harus menjadi halaman .aspx lain. Misalnya, transfer ke halaman .asp atau .asmx tidak valid.

Transfer Endpanggilan , yang melemparkan ThreadAbortException pengecualian setelah selesai.

Jika Anda mengatur preserveForm parameter ke true, halaman target akan dapat mengakses status tampilan halaman sebelumnya dengan menggunakan PreviousPage properti .

Untuk tujuan keamanan, Anda harus menjaga enableViewStateMac atribut diatur ke true. ASP.NET tidak memverifikasi bahwa pengguna saat ini berwenang untuk melihat sumber daya yang Transfer dikirimkan oleh metode . Meskipun logika otorisasi dan autentikasi ASP.NET berjalan sebelum penanganan sumber daya asli dipanggil, ASP.NET langsung memanggil handler yang ditunjukkan oleh Transfer metode dan tidak menjalankan kembali logika autentikasi dan otorisasi untuk sumber daya baru. Jika kebijakan keamanan aplikasi Anda mengharuskan klien memiliki otorisasi yang sesuai untuk mengakses sumber daya, aplikasi harus memaksa autentikasi ulang atau menyediakan mekanisme kontrol akses kustom.

Anda dapat memaksa otorisasi ulang dengan menggunakan Redirect metode alih-alih Transfer metode . Metode ini Redirect melakukan pengalihan sisi klien di mana browser meminta sumber daya baru. Karena pengalihan ini adalah permintaan baru yang memasuki sistem, pengalihan ini tunduk pada semua logika autentikasi dan otorisasi dari Internet Information Services (IIS) dan kebijakan keamanan ASP.NET.

Anda dapat memverifikasi bahwa pengguna memiliki izin untuk melihat sumber daya dengan menggabungkan metode otorisasi kustom yang menggunakan IsInRole metode sebelum aplikasi memanggil Transfer metode .

Berlaku untuk

Transfer(IHttpHandler, Boolean)

Mengakhiri eksekusi halaman saat ini dan memulai eksekusi permintaan baru dengan menggunakan handler HTTP kustom yang mengimplementasikan IHttpHandler antarmuka dan menentukan apakah akan menghapus QueryString koleksi dan Form .

public:
 void Transfer(System::Web::IHttpHandler ^ handler, bool preserveForm);
public void Transfer(System.Web.IHttpHandler handler, bool preserveForm);
member this.Transfer : System.Web.IHttpHandler * bool -> unit
Public Sub Transfer (handler As IHttpHandler, preserveForm As Boolean)

Parameter

handler
IHttpHandler

Handler HTTP yang mengimplementasikan IHttpHandler untuk mentransfer permintaan saat ini.

preserveForm
Boolean

true untuk mempertahankan QueryString koleksi dan Form ; false untuk menghapus QueryString koleksi dan Form .

Pengecualian

Permintaan halaman saat ini adalah panggilan balik.

Keterangan

Anda dapat menulis handler HTTP kustom untuk memproses jenis permintaan HTTP tertentu yang telah ditentukan sebelumnya dalam bahasa apa pun yang sesuai dengan Spesifikasi Bahasa Umum (CLS). Kode yang dapat dieksekusi yang didefinisikan dalam kelas handler HTTP alih-alih halaman ASP konvensional (juga dikenal sebagai ASP klasik) atau halaman ASP.NET merespons permintaan spesifik ini. Handler HTTP memungkinkan untuk berinteraksi dengan layanan permintaan dan respons tingkat rendah dari server Web yang menjalankan Internet Information Services (IIS), dan mereka menyediakan fungsionalitas yang mirip dengan ekstensi ISAPI tetapi dengan model pemrograman yang lebih sederhana.

Jika Anda mengatur preserveForm parameter ke true, halaman target akan dapat mengakses status tampilan halaman sebelumnya dengan menggunakan PreviousPage properti .

Untuk tujuan keamanan, Anda harus menjaga enableViewStateMac atribut diatur ke true. ASP.NET tidak memverifikasi bahwa pengguna saat ini berwenang untuk melihat sumber daya yang Transfer dikirimkan oleh metode . Meskipun logika otorisasi dan autentikasi ASP.NET berjalan sebelum handler sumber daya asli dipanggil, ASP.NET langsung memanggil handler yang ditunjukkan oleh Transfer metode , dan tidak menjalankan kembali logika autentikasi dan otorisasi untuk sumber daya baru. Jika kebijakan keamanan untuk aplikasi Anda mengharuskan klien memiliki otorisasi yang sesuai untuk mengakses sumber daya, aplikasi harus memaksa autentikasi ulang atau menyediakan mekanisme kontrol akses kustom.

Anda dapat memaksa otorisasi ulang dengan menggunakan Redirect metode alih-alih Transfer metode . Metode ini Redirect melakukan pengalihan sisi klien di mana browser meminta sumber daya baru. Karena pengalihan ini adalah permintaan baru yang memasuki sistem, pengalihan ini tunduk pada semua logika autentikasi dan otorisasi IIS dan kebijakan keamanan ASP.NET.

Anda dapat memverifikasi bahwa pengguna memiliki izin untuk melihat sumber daya dengan menggabungkan metode otorisasi kustom yang menggunakan IsInRole metode sebelum aplikasi memanggil Transfer metode .

Berlaku untuk