Windows SharePoint Services 虛擬伺服器沒被配置為與 ASP.NET 2.0.50727.42 一起使用
出錯資訊:
Windows SharePoint Services 虛擬伺服器沒被配置為與 ASP.NET 2.0.50727.42 一起使用。詳細資料,請參閱 http://go.microsoft.com/fwlink/?LinkId=42660 上的知識庫文章 894903。
原因:
ASP.NET 2.0 實現新安全更改有助於鎖定 IIS 6.0 中虛擬伺服器的安全性。 在早期版本的 ASP.NET, 在分配給其信任層級運行代碼。 信任層級是由代碼訪問安全性原則檔案。 Wss_minimaltrust.config 檔案是代碼訪問安全性原則檔案 Web.config 檔案中指定的樣本。
新的安全更改 ASP.NET 2.0 中限制對 Web 組件, 網頁, 許可權, 控制到交集與 ASP.NET PermissionSet 時間代碼運行信任層級。 在此配置, ASP.NET PermissionSet 是聲明表式法 PermissionSet 執行個體。 預設情況下, WindowsSharePointServices 提供到 ASP.NET PermissionSet 只有最低特權 安全更改 ASP.NET 2.0 中實現導致某些代碼使用降低提高權限執行。 例如, 代碼從全域組件快取中程式集以前運行在完全信任層級。 當您在 IIS 6.0 以使用 ASP.NET 2.0, 配置虛擬伺服器具有指派給 ASP.NET PermissionSet 特權代碼運行。 鎖定不與 WindowsSharePointServices 相容。 因此, 鎖定必須禁用 Web.config 檔案中。
ASP.NET 2.0 還包括稱為事件驗證新功能。 驗證事件監視對 ASP.NET 結構以確保源是調等於控制項目標回調。 某些 WindowsSharePointServices 頁使用回調與特定控制項, 都沒有關聯。 回調與特定控制項, 都沒有關聯可能導致頁執行錯誤。 因此, Windows SharePoint Services 2.0 是利用 ASP.NET 2.0 事件驗證功能不相容。 ASP.NET 2.0 事件驗證了 ASP.NET 2.0 安裝, 伺服器上配置 WindowsSharePointServices - 擴充 Web 應用程式時您必須關閉。
解決方案:
使用 Windows SharePoint Services Stsadm.exe 命令列工具來更新 Web.config 檔案中設定。 要這樣做, 使用以下命令:
stsadm.exe –o upgrade –forceupgrade –url http://<url of the virtual server>命令更新Web.config 檔案將位於根資料夾與虛擬伺服器。 例如, 命令更新 Web.config 檔案位於 磁碟機 : \ Inetpub\Wwwroot 檔案夾。 升級操作進行以下更改:
• |
命令 processRequestInApplicationTrust 屬性添加到下列信任標記: <trust level="WSS_Minimal" originUrl="" /> 運行命令, 後信任標記顯示如下: <trust level="WSS_Minimal" originUrl="" processRequestInApplicationTrust="false" /> |
• |
命令添加頁面標記下以下元素: <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces> |
• |
命令 enableEventValidation 屬性添加到 < 頁 > 標記, 其中原始標記是如下: <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false"> </pages> 添加屬性後, 標記是如下: <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" enableEventValidation="false"> <namespaces> <remove namespace="System.Web.UI.WebControls.WebParts" /> </namespaces> </pages> |