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> |