HttpServerUtility.Execute 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在目前要求的內容中執行指定資源的處理常式,並將執行傳回叫用它的網頁。
多載
Execute(String) |
在目前要求的內容中,執行指定虛擬路徑的處理常式。 |
Execute(String, Boolean) |
在目前要求的內容中,執行指定虛擬路徑的處理常式,並指定是否清除 QueryString 和 Form 集合。 |
Execute(String, TextWriter) |
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取已執行處理常式的輸出。 |
Execute(String, TextWriter, Boolean) |
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取網頁的輸出,並且布林參數會指定是否要清除 QueryString 和 Form 集合。 |
Execute(IHttpHandler, TextWriter, Boolean) |
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取已執行處理常式的輸出,並且布林參數會指定是否要清除 QueryString 和 Form 集合。 |
Execute(String)
在目前要求的內容中,執行指定虛擬路徑的處理常式。
public:
void Execute(System::String ^ path);
public void Execute (string path);
member this.Execute : string -> unit
Public Sub Execute (path As String)
參數
- path
- String
要執行的 URL 路徑。
例外狀況
範例
下列範例會顯示目前目錄中的 .aspx 頁面 「Updateinfo.aspx」。 程式執行會在 Updateinfo.aspx 頁面顯示之後返回起始頁面。
Server.Execute("updateinfo.aspx");
Server.Execute("updateinfo.aspx")
備註
方法 Execute 會在完成新頁面執行之後,繼續執行原始頁面。 方法 Transfer 會無條件地將執行傳送至另一個處理常式。
ASP.NET 不會確認目前使用者有權檢視 方法所 Execute 傳遞的資源。 雖然 ASP.NET 授權和驗證邏輯會在呼叫原始資源處理常式之前執行,但 ASP.NET 直接呼叫 方法所 Execute 指示的處理常式,而且不會重新執行新資源的驗證和授權邏輯。 如果您的應用程式安全性原則要求用戶端具有適當的授權才能存取資源,則應用程式應該強制重新授權或提供自訂存取控制機制。
您可以使用 方法來強制重新授權 Redirect ,而不是 Execute 方法。 Redirect 會執行用戶端重新導向,瀏覽器會在其中要求新的資源。 由於此重新導向是進入系統的新要求,因此會受限於 Internet Information Services (IIS) 和 ASP.NET 安全性原則的所有驗證和授權邏輯。
您可以藉由在應用程式呼叫 Execute 方法之前,併入使用 IsInRole 方法的自訂授權方法,確認使用者有權檢視資源。
適用於
Execute(String, Boolean)
在目前要求的內容中,執行指定虛擬路徑的處理常式,並指定是否清除 QueryString 和 Form 集合。
public:
void Execute(System::String ^ path, bool preserveForm);
public void Execute (string path, bool preserveForm);
member this.Execute : string * bool -> unit
Public Sub Execute (path As String, preserveForm As Boolean)
參數
- path
- String
要執行的 URL 路徑。
- preserveForm
- Boolean
true
表示保留 QueryString 和 Form 集合; false
表示清除 QueryString 和 Form 集合。
例外狀況
範例
下列範例示範如何在目前的要求中執行 .aspx 頁面 Updateinfo.aspx
,並保留 QueryString 和 Form 集合。 程式執行會在顯示之後 Updateinfo.aspx
返回起始頁面。
private void Page_Load(Object sender, EventArgs e)
{
Server.Execute("updateinfo.aspx", true);
}
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
Server.Execute("updateinfo.aspx", True)
End Sub
另請參閱
適用於
Execute(String, TextWriter)
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取已執行處理常式的輸出。
public:
void Execute(System::String ^ path, System::IO::TextWriter ^ writer);
public void Execute (string path, System.IO.TextWriter writer);
member this.Execute : string * System.IO.TextWriter -> unit
Public Sub Execute (path As String, writer As TextWriter)
參數
- path
- String
要執行的 URL 路徑。
- writer
- TextWriter
要擷取輸出的 TextWriter。
例外狀況
範例
下列範例會在 Login.aspx
目前目錄中的伺服器上執行頁面,並透過 物件 writer
接收來自頁面的 StringWriter 輸出。 它會寫入從 writer
接收的 HTML 資料流程至 HTTP 輸出資料流程。
StringWriter writer = new StringWriter();
Server.Execute("Login.aspx", writer);
Response.Write("<H3>Please Login:</H3><br>"+ writer.ToString());
Dim writer As New StringWriter
Server.Execute("Login.aspx", writer)
Response.Write("<H3>Please Login:</H3><br>" & writer.ToString())
備註
方法 Execute 會在完成指定的虛擬路徑執行之後,繼續執行原始要求。 方法 Transfer 會無條件地將執行傳送至另一個處理常式。
ASP.NET 不會確認目前使用者有權檢視 方法所 Execute 傳遞的資源。 雖然 ASP.NET 授權和驗證邏輯會在呼叫原始資源處理常式之前執行,但 ASP.NET 直接呼叫 方法所 Execute 指示的處理常式,而且不會重新執行新資源的驗證和授權邏輯。 如果您的應用程式安全性原則要求用戶端具有適當的授權才能存取資源,則應用程式應該強制重新授權或提供自訂存取控制機制。
您可以使用 方法來強制重新授權 Redirect ,而不是 Execute 方法。 Redirect 會執行用戶端重新導向,瀏覽器會在其中要求新的資源。 由於此重新導向是進入系統的新要求,因此會受限於 Internet Information Services (IIS) 和 ASP.NET 安全性原則的所有驗證和授權邏輯。
您可以藉由在應用程式呼叫 Execute 方法之前,併入使用 IsInRole 方法的自訂授權方法,確認使用者有權檢視資源。
另請參閱
適用於
Execute(String, TextWriter, Boolean)
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取網頁的輸出,並且布林參數會指定是否要清除 QueryString 和 Form 集合。
public:
void Execute(System::String ^ path, System::IO::TextWriter ^ writer, bool preserveForm);
public void Execute (string path, System.IO.TextWriter writer, bool preserveForm);
member this.Execute : string * System.IO.TextWriter * bool -> unit
Public Sub Execute (path As String, writer As TextWriter, preserveForm As Boolean)
參數
- path
- String
要執行的 URL 路徑。
- writer
- TextWriter
要擷取輸出的 TextWriter。
- preserveForm
- Boolean
true
表示保留 QueryString 和 Form 集合; false
表示清除 QueryString 和 Form 集合。
例外狀況
path
為 null
。
path
不是虛擬路徑。
範例
下列範例會在 Login.aspx
目前目錄中的伺服器上執行頁面,並透過 物件 writer
接收來自頁面的 StringWriter 輸出。 它會寫入從 writer
接收的 HTML 資料流程至 HTTP 輸出資料流程。 和 QueryString 集合的內容 Form 會保留。
private void Page_Load(Object sender, EventArgs e)
{
System.IO.StringWriter writer = new System.IO.StringWriter();
Server.Execute("Login.aspx", writer, true);
Response.Write("<h3>Please Login:</h3><br />" + writer.ToString());
}
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
Dim writer As System.IO.StringWriter = New System.IO.StringWriter()
Server.Execute("Login.aspx", writer, True)
Response.Write("<h3>Please Login:</h3><br />" + writer.ToString())
End Sub
備註
方法 Execute 會在指定的虛擬路徑執行完成之後,繼續執行原始要求。 方法 Transfer 會無條件地將執行傳送至另一個處理常式。
ASP.NET 不會確認目前使用者有權檢視 方法所 Execute 傳遞的資源。 雖然 ASP.NET 授權和驗證邏輯會在呼叫原始資源處理常式之前執行,但 ASP.NET 直接呼叫 方法所 Execute 指示的處理常式,而且不會重新執行新資源的驗證和授權邏輯。 如果您的應用程式安全性原則要求用戶端具有適當的授權才能存取資源,則應用程式應該強制重新授權或提供自訂存取控制機制。
您可以使用 方法來強制重新授權 Redirect ,而不是 Execute 方法。 Redirect 會執行用戶端重新導向,瀏覽器會在其中要求新的資源。 由於此重新導向是進入系統的新要求,因此會受限於 Internet Information Services (IIS) 和 ASP.NET 安全性原則的所有驗證和授權邏輯。
您可以藉由在應用程式呼叫 Execute 方法之前,併入使用 IsInRole 方法的自訂授權方法,確認使用者有權檢視資源。
另請參閱
適用於
Execute(IHttpHandler, TextWriter, Boolean)
在目前要求的內容中,執行指定虛擬路徑的處理常式。 TextWriter 會擷取已執行處理常式的輸出,並且布林參數會指定是否要清除 QueryString 和 Form 集合。
public:
void Execute(System::Web::IHttpHandler ^ handler, System::IO::TextWriter ^ writer, bool preserveForm);
public void Execute (System.Web.IHttpHandler handler, System.IO.TextWriter writer, bool preserveForm);
member this.Execute : System.Web.IHttpHandler * System.IO.TextWriter * bool -> unit
Public Sub Execute (handler As IHttpHandler, writer As TextWriter, preserveForm As Boolean)
參數
- handler
- IHttpHandler
HTTP 處理常式,實作 IHttpHandler,以傳輸目前要求至此。
- writer
- TextWriter
要擷取輸出的 TextWriter。
- preserveForm
- Boolean
true
表示保留 QueryString 和 Form 集合; false
表示清除 QueryString 和 Form 集合。
例外狀況
執行 handler
指定的處理常式時發生錯誤。
handler
參數為 null
。
備註
您可以撰寫自訂 HTTP 處理常式來處理符合 Common Language Specification (CLS) 之任何語言的特定預先定義 HTTP 要求類型。 在 HTTP 處理常式類別中定義的可執行程式碼,而不是傳統 ASP (也稱為傳統 ASP) 頁面或 ASP.NET 網頁會回應這些特定要求。 HTTP 處理常式允許與執行 Internet Information Services (IIS) 之 Web 服務器的低階要求和回應服務互動,並提供類似 ISAPI 延伸模組但具有較簡單程式設計模型的功能。
ASP.NET 不會確認目前使用者有權檢視 方法所 Execute 傳遞的資源。 雖然 ASP.NET 授權和驗證邏輯會在呼叫原始資源處理常式之前執行,但 ASP.NET 直接呼叫 方法所 Execute 指示的處理常式,而且不會重新執行新資源的驗證和授權邏輯。 如果應用程式的安全性原則要求用戶端具有適當的授權才能存取資源,則應用程式應該強制重新授權或提供自訂存取控制機制。
您可以使用 方法來強制重新授權 Redirect ,而不是 Execute 方法。 會 Redirect 執行用戶端重新導向,瀏覽器會在其中要求新的資源。 由於此重新導向是進入系統的新要求,因此會受限於 IIS 和 ASP.NET 安全性原則的所有驗證和授權邏輯。
您可以藉由在應用程式呼叫 Execute 方法之前,併入使用 IsInRole 方法的自訂授權方法,確認使用者有權檢視資源。