共用方式為


針對 ASP.NET 版本設定 ASP.NET 應用程式

依預設,當 .NET Framework 安裝在已有現有安裝版本的電腦上時,所有的 ASP.NET 應用程式都會自動更新成使用這個版本的 .NET Framework。唯一的例外是應用程式繫結至 Runtime 的不相容版本或是較新版的 Runtime。雖然較新版的 .NET Framework 都已設計成可以回溯相容,但是您可能會想設定 ASP.NET 應用程式來使用較舊的版本。下列章節說明設定 ASP.NET 應用程式以指定特定版本 .NET Framework 的程序。

檢視 ASP.NET 應用程式的指令碼對應

管理安裝了多個版本的 .NET Framework 的電腦時,如果要確定應用程式所使用的版本,檢視 ASP.NET 應用程式的指令碼對應通常十分有用。您可以使用 Internet Information Services 管理主控台來檢視 ASP.NET 應用程式的指令碼對應。

若要檢視 ASP.NET 應用程式的指令碼對應

  1. 開啟 IIS 管理主控台,按一下加號開啟本機電腦,並巡覽到包含 ASP.NET 應用程式的資料夾。

  2. 在資料夾上按一下滑鼠右鍵並按一下 [內容]。應用程式的 [內容] 對話方塊便會顯示。

  3. 在 [目錄] 索引標籤上,按一下 [設定] 按鈕。[應用程式設定] 對話方塊便會顯示。

  4. 在 [對應] 索引標籤上選取 ASP.NET 應用程式副檔名,例如 .asmx 或 .aspx。

    對話方塊的 [可執行檔路徑] 欄中會列出應用程式使用的 ASP.NET ISAPI 版本的路徑。依預設,ASP.NET ISAPI 安裝在下列位置:

    systemroot\Microsoft.NET\Framework\versionNumber

    路徑中顯示的版本號碼即代表應用程式所用 ASP.NET ISAPI 的版本號碼。ASP.NET ISAPI 版本決定應用程式所使用的 Runtime 版本。

使用 Aspnet_regiis.exe 更新指令碼對應

為了簡化為 ASP.NET 應用程式重新設定指令碼對應的程序,.NET Framework 的每一個安裝版本都附帶有 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe) 的關聯版本。管理員可以使用這個工具將 ASP.NET 應用程式重新對應至與該工具關聯的 ASP.NET ISAPI 版本。

注意 由於 Aspnet_regiis.exe 連結至 .NET Framework 的特定版本,因此管理員必須使用適當版本的 Aspnet_regiis.exe 來重新設定 ASP.NET 應用程式的指令碼對應。Aspnet_regiis.exe 只會將 ASP.NET 應用程式的指令碼對應重新設定成與此工具關聯的 ASP.NET ISAPI 版本。

這個工具也可以用來顯示 ASP.NET 所有已安裝版本的狀態、註冊 ASP.NET 的關聯版本、建立用戶端指令碼目錄,以及執行其他組態作業。

若要使用 Aspnet_regiis.exe 更新 ASP.NET 應用程式的指令碼對應

  1. 開啟命令視窗(按一下 [開始]、[執行],鍵入 cmd,然後再按一下 [確定])。

  2. 巡覽至您要使用的 Aspnet_regiis.exe 版本的目錄。請注意,.NET Framework 的每一個版本都附帶有自己的版本。這個檔案通常位於下列目錄:

    systemroot\Microsoft.NET\Framework\versionNumber

  3. 使用 Aspnet_regiis.exe 的 -s-sn 選項以及應用程式的路徑來設定指令碼對應。下列命令列範例將為名為 SampleApp1 的應用程式更新指令碼對應。

    Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1
    

IIS 6.0 中的應用程式共用

IIS 6.0 以前的版本使用 ASP.NET 處理序模型 (Aspnet_wp.exe)。在 ASP.NET 處理序模型下,每個唯一的應用程式版本都會在 Run Time 以個別的處理序 (Process) 自動執行。所有指定相同版本 Runtime 的應用程式全都共用同一個的處理序 (網頁處理序區模式中則是多個相同的處理序)。但是,IIS 6.0 使用的是 IIS 6.0 處理序模型 (w3wp.exe) 且引進了一種稱為應用程式共用的全新隔離功能。應用程式共用功能可讓應用程式同時在一或多個處理序中執行,只要它們共用相同的集區指定即可。指定了不同應用程式集區的應用程式絕不能在相同的處理序中執行。

將 .NET Framework 的多個版本安裝在使用 IIS 6.0 的電腦上時,您可能會在應用程式事件記錄檔中發現下列錯誤訊息。

同一個 IIS 處理序中不能執行兩個不同版本的 ASP.NET。請使用 IIS 系統管理工具重新設定伺服器使用不同的處理序來執行應用程式。

將 ASP.NET 的多個版本設定成在相同的處理序中執行時,就會發生這個錯誤。不同版本的 .NET Framework 和 Runtime 不能同時並存在相同的處理序中。因此,使用特定版本 Runtime 的 ASP.NET 應用程式絕對不能和使用不同版本的應用程式共用處理序。當兩個或兩個以上應用程式對應至不同版本的 ASP.NET,但卻共用同一個應用程式集區時,常常都會發生這個錯誤。

若要使用應用程式共用功能,請先確定 IIS 5.0 隔離模式已經停用。接著,在 Internet Information Services 管理主控台中巡覽到所需的應用程式,並為它指定應用程式集區。如果您想將應用程式隔離在現有應用程式之外,請建立新的集區目的。

注意 每一個應用程式的處理序隔離設定都需手動處理。

若要停用 IIS 6.0 中的 IIS 5.0 隔離模式

  1. 按一下加號,開啟 IIS 管理主控台並展開本機電腦。
  2. 在 [網站] 資料夾上按一下滑鼠右鍵並按一下 [內容]。
  3. 在 [服務] 索引標籤上,清除 [用 IIS 5.0 隔離模式執行 WWW 服務] 核取方塊。

若要在 IIS 6.0 中指定 ASP.NET 應用程式的集區指定

  1. 開啟 IIS 管理主控台,按一下加號開啟本機電腦,並巡覽到包含 ASP.NET 應用程式的資料夾。
  2. 在應用程式上按一下滑鼠右鍵,然後按一下 [內容]。應用程式的內容對話方塊便會顯示。
  3. 在 [目錄] 索引標籤上,從 [應用程式集區] 清單中選取所需的集區目的。

若要在 IIS 6.0 中建立集區指定

  1. 按一下加號,開啟 IIS 管理主控台並展開本機電腦。
  2. 在 [應用程式集區] 資料夾上按一下滑鼠右鍵,指向 [新增],然後再按一下 [應用程式集區]。[新增應用程式集區] 對話方塊便會出現。
  3. 在 [應用程式集區] 中輸入新的集區指定,然後再按一下 [確定]。

請參閱

ASP.NET 中的並存支援 | ASP.NET 並存功能概觀