HttpServerUtility.Transfer Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli sayfanın yürütülmesini sonlandırır ve geçerli istek için yeni bir sayfanın yürütülmesini başlatır.
Aşırı Yüklemeler
| Transfer(String) |
Geçerli istek için geçerli sayfanın yürütülmesini sonlandırır ve sayfanın belirtilen URL yolunu kullanarak yeni bir sayfanın yürütülmesini başlatır. |
| Transfer(String, Boolean) |
Geçerli sayfanın yürütülmesini sonlandırır ve sayfanın belirtilen URL yolunu kullanarak yeni bir sayfanın yürütülmesini başlatır. QueryString ve Form koleksiyonlarının temizlenip temizlenmeyeceğini belirtir. |
| Transfer(IHttpHandler, Boolean) |
Geçerli sayfanın yürütülmesini sonlandırır ve IHttpHandler arabirimini uygulayan özel bir HTTP işleyicisi kullanarak yeni bir isteğin yürütülmesini başlatır ve QueryString ve Form koleksiyonlarının temizlenip temizlenmeyeceğini belirtir. |
Transfer(String)
Geçerli istek için geçerli sayfanın yürütülmesini sonlandırır ve sayfanın belirtilen URL yolunu kullanarak yeni bir sayfanın yürütülmesini başlatır.
public:
void Transfer(System::String ^ path);
public void Transfer (string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)
Parametreler
- path
- String
Yürütülecek sunucudaki yeni sayfanın URL yolu.
Açıklamalar
Aktarıldığı sayfa başka bir .aspx sayfası olmalıdır. Örneğin, bir .asp veya .asmx sayfasına aktarım geçerli değildir. Transfer yöntemi QueryString ve Form koleksiyonlarını korur.
Transfer, tamamlandıktan sonra ThreadAbortException özel durum oluşturan Endçağırır.
ASP.NET, geçerli kullanıcının Transfer yöntemi tarafından teslim edilen kaynağı görüntüleme yetkisine sahip olduğunu doğrulamaz. ASP.NET yetkilendirme ve kimlik doğrulama mantığı özgün kaynak işleyici çağrılmadan önce çalıştırılsa da, ASP.NET doğrudan Transfer yöntemi tarafından belirtilen işleyiciyi çağırır ve yeni kaynak için kimlik doğrulaması ve yetkilendirme mantığını yeniden çalıştırmaz. Uygulamanızın güvenlik ilkesi istemcilerin kaynağa erişmek için uygun yetkilendirmeye sahip olmasını gerektiriyorsa, uygulama yeniden kimlik doğrulamayı zorlamalı veya özel bir erişim denetimi mekanizması sağlamalıdır.
Transfer yöntemi yerine Redirect yöntemini kullanarak yeniden kimlik doğrulamaya zorlayabilirsiniz. Redirect yöntemi, tarayıcının yeni kaynağı istediği bir istemci tarafı yeniden yönlendirmesi gerçekleştirir. Bu yeniden yönlendirme sisteme giren yeni bir istek olduğundan, hem Internet Information Services (IIS) hem de ASP.NET güvenlik ilkesinin tüm kimlik doğrulaması ve yetkilendirme mantığına tabidir.
Uygulama Transfer yöntemini çağırmadan önce IsInRole yöntemini kullanan özel bir yetkilendirme yöntemi ekleyerek kullanıcının kaynağı görüntüleme iznine sahip olduğunu doğrulayabilirsiniz.
Şunlara uygulanır
Transfer(String, Boolean)
Geçerli sayfanın yürütülmesini sonlandırır ve sayfanın belirtilen URL yolunu kullanarak yeni bir sayfanın yürütülmesini başlatır. QueryString ve Form koleksiyonlarının temizlenip temizlenmeyeceğini belirtir.
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)
Parametreler
- path
- String
Yürütülecek sunucudaki yeni sayfanın URL yolu.
- preserveForm
- Boolean
QueryString ve Form koleksiyonlarını korumak için true; QueryString ve Form koleksiyonlarını temizlemek için false.
Özel durumlar
Geçerli sayfa isteği bir geri çağırmadır.
Örnekler
Aşağıdaki örnek, geçerli sayfayla aynı dizinde yeni bir sayfa yürütür.
Server.Transfer("Logon.aspx", true);
Server.Transfer("Logon.aspx", true)
Açıklamalar
Aktarıldığı sayfa başka bir .aspx sayfası olmalıdır. Örneğin, bir .asp veya .asmx sayfasına aktarım geçerli değildir.
Transfer, tamamlandıktan sonra ThreadAbortException özel durum oluşturan Endçağırır.
preserveForm parametresini trueolarak ayarlarsanız, hedef sayfa PreviousPage özelliğini kullanarak önceki sayfanın görünüm durumuna erişebilir.
Güvenlik amacıyla enableViewStateMac özniteliğini trueolarak ayarlamanız gerekir. ASP.NET, geçerli kullanıcının Transfer yöntemi tarafından teslim edilen kaynağı görüntüleme yetkisine sahip olduğunu doğrulamaz. ASP.NET yetkilendirme ve kimlik doğrulama mantığı özgün kaynak işleyici çağrılmadan önce çalıştırılsa da, ASP.NET doğrudan Transfer yöntemi tarafından belirtilen işleyiciyi çağırır ve yeni kaynak için kimlik doğrulaması ve yetkilendirme mantığını yeniden çalıştırmaz. Uygulamanızın güvenlik ilkesi istemcilerin kaynağa erişmek için uygun yetkilendirmeye sahip olmasını gerektiriyorsa, uygulama yeniden kimlik doğrulamayı zorlamalı veya özel bir erişim denetimi mekanizması sağlamalıdır.
Transfer yöntemi yerine Redirect yöntemini kullanarak yeniden kimlik doğrulamaya zorlayabilirsiniz. Redirect yöntemi, tarayıcının yeni kaynağı istediği bir istemci tarafı yeniden yönlendirmesi gerçekleştirir. Bu yeniden yönlendirme sisteme giren yeni bir istek olduğundan, hem Internet Information Services (IIS) hem de ASP.NET güvenlik ilkesinin tüm kimlik doğrulaması ve yetkilendirme mantığına tabidir.
Uygulama Transfer yöntemini çağırmadan önce IsInRole yöntemini kullanan özel bir yetkilendirme yöntemi ekleyerek kullanıcının kaynağı görüntüleme iznine sahip olduğunu doğrulayabilirsiniz.
Şunlara uygulanır
Transfer(IHttpHandler, Boolean)
Geçerli sayfanın yürütülmesini sonlandırır ve IHttpHandler arabirimini uygulayan özel bir HTTP işleyicisi kullanarak yeni bir isteğin yürütülmesini başlatır ve QueryString ve Form koleksiyonlarının temizlenip temizlenmeyeceğini belirtir.
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)
Parametreler
- handler
- IHttpHandler
Geçerli isteği aktarmak için IHttpHandler uygulayan HTTP işleyicisi.
- preserveForm
- Boolean
QueryString ve Form koleksiyonlarını korumak için true; QueryString ve Form koleksiyonlarını temizlemek için false.
Özel durumlar
Geçerli sayfa isteği bir geri çağırmadır.
Açıklamalar
Ortak Dil Belirtimi (CLS) ile uyumlu herhangi bir dilde belirli, önceden tanımlanmış HTTP isteği türlerini işlemek için özel HTTP işleyicileri yazabilirsiniz. Geleneksel ASP (klasik ASP olarak da bilinir) sayfaları veya ASP.NET sayfaları yerine HTTP işleyici sınıflarında tanımlanan yürütülebilir kod bu isteklere yanıt verir. HTTP işleyicileri, Internet Information Services (IIS) çalıştıran bir Web sunucusunun alt düzey istek ve yanıt hizmetleriyle etkileşime olanak tanır ve ISAPI uzantılarına benzer ancak daha basit bir programlama modeliyle işlevsellik sağlar.
preserveForm parametresini trueolarak ayarlarsanız, hedef sayfa PreviousPage özelliğini kullanarak önceki sayfanın görünüm durumuna erişebilir.
Güvenlik amacıyla enableViewStateMac özniteliğini trueolarak ayarlamanız gerekir. ASP.NET, geçerli kullanıcının Transfer yöntemi tarafından teslim edilen kaynağı görüntüleme yetkisine sahip olduğunu doğrulamaz. ASP.NET yetkilendirme ve kimlik doğrulama mantığı özgün kaynak işleyici çağrılmadan önce çalıştırılsa da, ASP.NET doğrudan Transfer yöntemi tarafından belirtilen işleyiciyi çağırır ve yeni kaynak için kimlik doğrulaması ve yetkilendirme mantığını yeniden çalıştırmaz. Uygulamanızın güvenlik ilkesi istemcilerin kaynağa erişmek için uygun yetkilendirmeye sahip olmasını gerektiriyorsa, uygulama yeniden kimlik doğrulamaya zorlamalı veya özel bir erişim denetimi mekanizması sağlamalıdır.
Transfer yöntemi yerine Redirect yöntemini kullanarak yeniden kimlik doğrulamaya zorlayabilirsiniz. Redirect yöntemi, tarayıcının yeni kaynağı istediği bir istemci tarafı yeniden yönlendirmesi gerçekleştirir. Bu yeniden yönlendirme sisteme giren yeni bir istek olduğundan, hem IIS hem de ASP.NET güvenlik ilkesinin tüm kimlik doğrulaması ve yetkilendirme mantığına tabidir.
Uygulama Transfer yöntemini çağırmadan önce IsInRole yöntemini kullanan özel bir yetkilendirme yöntemi ekleyerek kullanıcının kaynağı görüntüleme iznine sahip olduğunu doğrulayabilirsiniz.