五一后来了这家新公司,要求用SharePoint实现一些有关学校、政府的门户站点。以前没怎么接触过这个东东。于是招来google猛搜一番。结果可用的资料少得可怜,甚至连一本像样的书也没有,没办法,只能看MSDN了。终于找到了微软的这个名叫Northwind的WebPart
下载地址:
用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=b
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。其中只有 Full,WSS_Medium,WSS_Minimal三个级别支持Web Part的运新,而又因为WSS_Minimal不支持如Page.Server.MapPath级别的对服务器目录的访问,所以Northwind不能运行在这个级别下,所以我们要做的是将它设置为Full或WSS_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
浙公网安备 33010602011771号