連線至 Windows SharePoint Services 網站的首頁時,收到「Windows SharePoint Services 虛擬伺服器沒有被設定為可搭配 ASP.NET 2.0.xxxxx.0 使用」的錯誤訊息

文章翻譯 文章翻譯
文章編號: 894903 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

請考慮下列情況。您在伺服器上安裝 Microsoft Windows SharePoint Services。在伺服器上,Microsoft Internet Information Services (IIS) 6.0 被設定為可搭配 Microsoft ASP.NET 2.0 使用。當您連線至 Windows SharePoint Services 網站的首頁時,收到下列錯誤訊息:
The Windows SharePoint Services virtual server has not been configured for use with ASP.NET 2.0.xxxxx.0. For more information, please refer to Knowledge Base article 894903 at http://go.microsoft.com/fwlink/?linkid=42660. (Windows SharePoint Services 虛擬伺服器沒有被設定為可搭配 ASP.NET 2.0.xxxxx.0 使用。如需更多詳細資訊,請參閱 http://go.microsoft.com/fwlink/?linkid=42660 的「知識庫文件」編號 894903)
請注意,「ASP.NET 2.0.xxxxx.0」字串中的「xxxxx」代表您正在執行的 ASP.NET 2.0 版本。

發生的原因

ASP.NET 2.0 執行新的安全性變更可以幫助 IIS 6.0 中虛擬伺服器鎖定安全性。在舊版的 ASP.NET 中,程式碼在指定給它的信任層級上執行。而信任層級則由程式碼存取安全性原則檔案決定。舉例來說,Web.config 檔案中指定的 Wss_minimaltrust.config 檔案就是一個程式碼存取安全性原則檔案。

ASP.NET 2.0 中新的安全性變更限制了與 ASP.NET PermissionSet 交集的網頁、網頁部分、控制項以及執行程式碼的信任層級的相關權限。在此設定中,ASP.NET PermissionSet 是一個 PermissionSet 執行個體的宣告代表。根據預設值,Windows SharePoint Services 僅給予 ASP.NET PermissionSet 最小的權限。ASP.NET 2.0 中實作的安全性變更造成部分程式碼以較少的權限執行。例如,過去全域組件快取中組件的程式碼是在完全信任的層級執行。當您設定 IIS 6.0 中的虛擬伺服器使用 ASP.NET 2.0 時,程式碼是以指定給 ASP.NET PermissionSet 的權限執行。鎖定與 Windows SharePoint Services 不相容。因此,在 Web.config 檔案中鎖定必須被停用。

ASP.NET 2.0 也包含稱為「事件驗證」的新功能。事件驗證會監控對 ASP.NET 基礎結構發出的回呼,確保回呼的來源相等於控制項目標。部分 Windows SharePoint Services 網頁使用的回呼無法和特定的控制項聯繫。無法和特定的控制項聯繫的回呼可能會造成網頁執行的錯誤。因此,Windows SharePoint Services 2.0 與 ASP.NET 2.0 事件驗證功能不相容。在安裝了 ASP.NET 2.0 的伺服器上,當您設定 Windows SharePoint Services 的延伸 Web 應用程式時,必須關閉 ASP.NET 2.0 事件驗證功能。

解決方案

使用 Windows SharePoint Services Stsadm.exe 命令列工具更新 Web.config 檔案中的設定。如果要執行這項操作,請使用下列命令:
stsadm.exe –o upgrade –forceupgrade –url http://URLOftheVirtualServer
此命令會更新位於虛擬伺服器之根資料夾中的 Web.config 檔案。例如,此命令會更新位於 Drive:\Inetput\Wwwroot 資料夾中的 Web.config 檔案。升級作業會造成下列變更:
  • 這個命令將 processRequestInApplicationTrust 屬性加入到下列信任標籤中:
    <trust level="WSS_Minimal" originUrl="" />
    執行此命令後會出現信任標籤,如下所示:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
  • 這個命令將下列元件加入到網頁標籤下方:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
  • 這個命令將一個 enableEventValidation 屬性加入到 <pages> 標籤,原始的標籤如下:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false"> </pages>
    After the attribute has been added, the tag is as follows:
    <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" enableEventValidation="false"> <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces> </pages>

其他相關資訊

如果您將虛擬伺服器使用的 ASP.NET 版本從 ASP.NET 2.0 變更為 ASP.NET 1.1,您必須使用 Stsadm.exe 命令列工具更新 Web.config 檔案中的設定。如果要執行這項操作,請使用下列命令:
stsadm.exe –o upgrade –forceupgrade –url http://URLOftheVirtualServer
此命令會移除先前新增至 Web.config 檔案的項目。也就是說,Web.config 檔案進行了下列的變更:
  • 這個命令從下列信任標籤中移除 processRequestInApplicationTrust 屬性:
    <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" />
    執行此命令後會出現信任標籤,如下所示:
    <trust level="WSS_Minimal" originUrl="" />
  • 這個命令將下列位於網頁標籤下方的元件移除:
    <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces>
將虛擬伺服器設定為使用 ASP.NET 1.1 後,如果沒有執行這個命令您會收到下列錯誤訊息:
Server Error in '/' Application. ('/' 應用程式中發生伺服器錯誤)
或者,如果 CustomErrors 功能已經啟用,您將收到下列錯誤訊息:
Unrecognized attribute 'processRequestInApplicationTrust'. (無法辨認的屬性 'processRequestInApplicationTrust')

Source Error: (原始程式錯誤)
Line 66:<compilation batch="false" debug="false" /> 
Line 67:<pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" /> 
Line 68:<trust level="WSS_Medium" originUrl="" processRequestInApplicationTrust="true"/> 
Line 69:<machineKey validationKey="A4CE4E781E8FCF0763F6D8309BB2394532B29E2DA9DD555F" decryptionKey="2AF183D38F95610298659AB9E30B9B1B4AC6A6D362D8D5F7" validation="SHA1" /> 
Line 70:</system.web> Source File:c:\inetpub\wwwroot\web.config    Line:68

?考

如需有關 Stsadm.exe 命令列工具的詳細資訊,請參閱《Microsoft Windows SharePoint Services Administrator's Guide》中<Reference>章節的<Command-Line Operations>、<Command-Line Parameters>和<Command-Line-Properties>主題。如果要取得《Microsoft Windows SharePoint Services Administrator's Guide》,請造訪下列 Microsoft 網站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a637eff6-8224-4b19-a6a4-3e33fa13d230&displaylang=en

屬性

文章編號: 894903 - 上次校閱: 2006年3月23日 - 版次: 3.1
這篇文章中的資訊適用於:
  • Microsoft Windows SharePoint Services
關鍵字:?
kberrmsg kbtshoot kbprb kbconfig KB894903
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com