编程访问“我的网站”中的目标链接门户列表

大家都在谈内容推送,其实SharePoint Portal Server 2003中有一个很好的功能可以帮我们实现这个功能。可以将内容的链接主动的发布到个人网站的“您的链接”Web部件区域里。配合访问群体,就可以实现按照用户在组织中的角色(或者说在活动目录中的从属关系、特定的属性信息等)来决定显示用户所关心的内容。这样当用户打开个人主页时,所有与自己相关的信息都摆在了案头,岂不是很方便。

如何操作呢,其实很简单。管理员可以在“网站设置”的门户网站内容一节中的“管理我的网站上的目标链接”中添加、编辑。

进一步,我想要通过编程来实现上述的过程,通过参考sdk,实现代码如下:

TopologyManager tm = new TopologyManager();
PortalSite ps 
= tm.PortalSites[ new Uri("http://testsrv") ];
Microsoft.SharePoint.Portal.PortalContext ctx 
= Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid guidTopics 
= AreaManager.GetSystemAreaGuid(ctx, SystemArea.MySite);
Area areaMysite
= AreaManager.GetArea(ctx, guidTopics);
System.Guid[] guids
=new Guid[1];
guids[
0]=new System.Guid("{00000000-0000-0000-0000-000000000000}");
areaMysite.Listings.AddListing(
"Example","",ListingType.ExternalUrl,"http://www.example.com",guids);

为一串零的ID代表的是“所有门户用户”这个特殊的访问群体。这里只加了这么一个访问群体。当然我们也可以指定多个了,只需要获取相应的ID加到这个数组里就可以了。
这里可以看到“我的网站”实际上是一个特殊的门户区域,我们要操作的就是这个区域下的门户列表。这里我添加了一个外部链接作为我们要推送的内容。有关更详细的门户列表操作,请参考sdk.

posted @   Sunmoonfire  阅读(1681)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示