Microsoft . 技术之路...

—— 专注于微软技术, 分享是快乐的源泉......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
1 服务器上安装 Microsoft Windows SharePoint Services。 Microsoft Internet Information Services (IIS) 6.0 被配置以用于 Microsoft ASP.NET 2.0 服务器上。 当您连接到主页的 Windows SharePoint Services Web 站点, 您会收到以下错误信息:
WindowsSharePointServices 虚拟服务器未配置为使用 ASP.NET 2.0.xxxxx.0。 有关详细信息, 请参阅对知识库文章 894903
http://go.microsoft.com/fwlink/?linkid=42660 上。
注意 ASP.NET 2.0.xxxxx.0 中 xxxxx 指示, 正在运行 ASP.NET 2.0 版本。
原因
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 升级 ûforceupgrade ûurl http:// URLOftheVirtualServer
命令更新 Web.config 文件将位于根文件夹与虚拟服务器。 例如, 命令更新 Web.config 文件位于 驱动器 : \Inetput\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>
如果从 ASP.NET 2.0 更改该虚拟服务器使用 ASP.NET 版本到 ASP.NET 1.1, 您必须使用 Stsadm.exe 命令行工具来更新 Web.config 文件中设置。 要这样做, 使用以下命令:
stsadm.exe ûo 升级 û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 后, 执行不运行命令, 会收到以下错误信息:
应用程序中 '/' 服务器错误。
或者, 如果启用 CustomErrors 功能, 您收到以下错误信息:
' processRequestInApplicationTrust ' 识别属性。
源错误:
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