当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint 中的属性包 - 存储、检索自定义配置

作者:精品下载站 日期:2024-12-14 13:49:34 浏览:15 分类:玩电脑

SharePoint 中的属性包 - 存储、检索自定义配置


顾名思义,属性包功能提供了一种存储和检索自定义配置的便捷方法,而不是将它们存储在 web.config 文件中。 SharePoint 中的属性包以哈希表(键值)格式存储配置数据。我们可以在以下级别存储和检索属性:

  1. 农场(SPFarm)
  2. Web 应用程序 (SPWebApplication )
  3. 网站集(SPSite - 没有 Property Bag,但您可以使用 SPSite.RootWeb )
  4. 网站 (SPWeb)
  5. 列表(SP列表)
  6. 文件夹 (SPFolder)
  7. 文件(SP文件)
  8. 列表项 (SPListItem)

可以在所有这些级别创建、编辑和删除属性包。财产包钥匙区分大小写!

如何使用SharePoint属性包?

如果您的 SharePoint 应用程序对每个 SharePoint 对象使用任何特定设置(例如 Web 应用程序、网站集、网站等),您必须在配置文件中维护这些条目。在这里,SharePoint 属性包可以成为一个很好的帮手。

没有现成的用户界面来管理 SharePoint 中的属性包设置。我们使用对象模型代码以编程方式设置/获取属性。任何与 SharePoint 对象属性交互的方法(例如 AddProperty、DeleteProperty、GetProperty、SetProperty)都不会影响“Properties”属性。您必须改为访问“AllProperties”。 “Property”属性可用于向后兼容。

使用 PowerShell 管理 SharePoint 属性包:

以下是使用 PowerShell 在站点级别管理属性包的示例


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$WebURL ="https://intranet.crescent.com/sites/Sales/APAC"
#Get the Web Object
$Web = Get-SPWeb -Identity $WebURL

#Variables for Key-Value 
$PropertyName ="masterPage"
$PropertyValue ="Crescentv1.Master"

#add property bag in sharepoint 2010/2013
$web.AddProperty($PropertyName,$PropertyValue) #add property bag
$web.Update()
Write-host "Created new Property: "$PropertyName

#how to read property bag in sharepoint - query property bag
Write-host "Retrieved $PropertyName Value:" $web.GetProperty($PropertyName)   

#set property bag sharepoint 2010 powershell
$PropertyNewValue ="Crescentv2.Master"
$web.SetProperty($PropertyName, $PropertyNewValue)
$web.Update()
Write-host $PropertyName updated with new value:$PropertyNewValue

#Search for a Property
if($web.AllProperties.ContainsKey($PropertyName))
 {
     #access property bag in sharepoint
     write-host Property Found! Value: $web.GetProperty($PropertyName)
 }
 
#Remove Property from Property Bag
$web.DeleteProperty($PropertyName)
$web.Update()
write-host "Property $PropertyName has been deleted!"

#Get all Properties from sharepoint property bag 
#$web.Allproperties

$Web.Dispose()

相同的代码可以转换为 C# 对象模型,以便与事件接收器、Web 部件等一起使用。 - 在网站集级别添加新的属性包:以下是 SharePoint 属性包示例:


#Get Site collection
SPSite site = new SPSite("https://your-sharepoint-site-url");

//Add new Property bag key and value
//Old Method
//site.Properties.Add("MasterPage", "Crescentv1");
//site.Properties.Update()

//create property bag in sharepoint
site.AllProperties["MasterPage"] = "Crescentv1.master";
site.Update()
提示:您还可以使用 SharePoint Designer 管理属性包设置!

SharePoint 属性包工具:
有一些实用程序可用于管理 SharePoint 属性包设置。

  1. SharePoint 属性包设置
  2. SharePoint Manager - 也可以用作属性包编辑器、查看器

SharePoint 属性包访问被拒绝!
如果您没有 SharePoint 对象的权限,则无法与它们交互。例如。要访问/添加 SharePoint 场属性包,您必须是 SharePoint 场管理员。如果没有,您可能会收到“访问被拒绝”错误!使用提升的权限来存储和检索此类对象。

SharePoint 属性包限制:由于它是一个哈希表 - 您可以存储最大 4 KB 的数据值。

使用 SharePoint Designer 管理属性包
您可以使用 SharePoint Designer 操作属性包中的项目!在 SharePoint Designer 中打开网站,然后单击功能区中的“网站选项”按钮即可获取属性包编辑器!

[玩转系统] SharePoint 中的属性包 - 存储、检索自定义配置

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯