lr2651

The Two Towers

导航

使用微软带的那个Northwind的WebPart的一些心得

Posted on 2005-08-02 10:19  The Two Towers  阅读(229)  评论(0)    收藏  举报

五一后来了这家新公司,要求用SharePoint实现一些有关学校、政府的门户站点。以前没怎么接触过这个东东。于是招来google猛搜一番。结果可用的资料少得可怜,甚至连一本像样的书也没有,没办法,只能看MSDN了。终于找到了微软的这个名叫NorthwindWebPart

下载地址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=83a402c9-0471-406a-b8c7-9a7c5f51f5f8&DisplayLang=en

VS.NET打开解决方案后可以看到两个工程,其中那个NorthwindCab项目包括一个已经生成好的.CAB文件,使用这个文件你就可以直接将它部署到安装了Windows SharePoint Service Microsoft SharePoint Portal Server的网站上。

1、将CAB文件拷贝到服务器根目录下,运行命令stsadm.exe,它通常位于“C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BIN”目录下,打开命令提示符窗口,执行:stsadm –o addwppack –file NorthwindCab.CAB

   如果成功,它会提示我们类似下面的信息:samplewebpart.cab: 部署到 http://SPSServer/

操作成功完成。这样就在服务器上成功部署了此WebPart

2、到此,您就可以在SharePoint站点中看到这两个控件了。方法:点击‘修改我的页面’选‘加入WebPart’下的‘浏览’在左边窗口中选择‘虚拟服务器库’,就可以看到我们加入的两个控件,一个‘Orders它实现ICellConsumer接口,而另一个‘Customer’则实现了 IRowProvider接口,它们在网页中可以由用户指定进行链接,当选择Provider中的ID号时,在Consumer中会出现与其相同ID的所有数据。

3、这时似乎使用它已经没问题了,其实还有非常关键的一步需要注意,如果您只是按照上两步去做,很可能您在添加控件后会出错,根本不会有显示。在Consumer控件下会显示如下错误:

Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
Steps to correct this are included in the documentation for this sample.

由这个错误可以看出是系统安全许可(即输入输出许可)没有注册,这主要是因为这个例子控件是要读取XML文件中的数据,而这在SharePoint的默认安全机制下是不允许的。

解决办法:

找到您Windows SharePoint Service Microsoft SharePoint Portal Server的网站目录下,打开Web.config文件,<System.Web>节点下有<trust level="WSS_Minimal" originUrl="" />其中level="WSS_Minimal"设置了网站的安全及信任级别。Level的可选值为 Full, High, Medium, Low, Minimal, WSS_Medium WSS_Minimal。其中只有 FullWSS_MediumWSS_Minimal三个级别支持Web Part的运新,而又因为WSS_Minimal不支持如Page.Server.MapPath级别的对服务器目录的访问,所以Northwind不能运行在这个级别下,所以我们要做的是将它设置为FullWSS_Medium

4、改变安全级别后您需要运行iisreset命令重新启动IIS,保证改动生效。注意在您再次使用Northwind 中两控件之前,可能需要再次运行第一步中的命令,因为对Web.config的更改有可能导致找不到我们安装过的控件。

记:上述第三步介绍的方法,微软认为是缺乏安全性的,他建议针对不同的控件使用不同
的安全策略,即修改<securityPolicy>标签中的内容,详见:

http://msdn.microsoft.com/library/en-us/odc_SP2003_ta/html/sharepoint_northwindwebparts.asp?frame=true#sharepoint_northwindwebparts_topic20