关于如何获得网站集宿主网站集地址的问题

     最近由于工作的需要,接触了sharepoint的二次开发。关于一些二次开发的基础知识中文资料已经很多了,所以在此我就记录一些我在工作中遇到的问题和解决方法。
     再做一个自定义字段的时候要在网站集下搜索所有的个人博客站点列出与文档库中某一文档相关的博客文章,并可以就当前浏览的文档在自己的网站中添加新的一篇博客。这个功能是由一个链接来实现的,所以就要用对象模型来获取到当前个人网站中博客网站的地址。
     首先我们先在vs2005中新建一个classlibary的项目(BlogSearch),建立两个类文件SearchResult和SearchResultRender类。添加必要的引用。SearchResult的源码如下:

Code


这些代码没有特别之处都是建立自定义控件的基础,如有问题请参阅msdn和一步一步sharepoint2007的相关内容。
     接下来就是我们这次要谈论的重点了,在sharepoint中每一个网站都会有一个自己的宿主网站集,这些你可以在sharepoint的管理中心中进行设置(管理中心->应用程序管理->office sharepoint server共享服务->创建或配置此服务器场的共享服务)。每一个网站集都会有自己的用户配置文件(该配置文件是在用户添加到sharepoint站点中的时候就已经建立了,可以在管理中心中查看所有的用户配置文件,当然你要有足够的权限:P),那么这些配置文件的信息可以用对象模型获得么?答案是肯定的。网站下所有的用户配置文件我们可以用Microsoft.Office.Server.UserProfiles.UserProfileManager获得(努力学习的小熊博客中有关于UserProfile操作的文章,不错的哦)。我们可以通过UserProfileManager.MySiteHostUrl获得当前网站集的宿主网站集的url。这就是我们想要得到的东东了(在这里汗自己一个,为了这个东东找了两个小时!!),废话不多说了直接上代码(SearchResultRender):

Code

ok这样一个关于网站集下所有个人网站博客的博文搜索的自定义字段就搞定了。希望对大家有所帮助,第一次写技术性的东东,不到之处还请各位前辈见谅,我会努力改进的。这次就到这里吧!休息休息一下
posted @ 2009-01-15 11:36  大黄蜂  阅读(421)  评论(2编辑  收藏  举报