Sharepoint SPPersistedObject和List
我希望sharepoint持久化对象列表 我编写了一个从SPPersistedObject继承的类SPAlert:Sharepoint SPPersistedObject和List,sharepoint,list,persistence,Sharepoint,List,Persistence,我希望sharepoint持久化对象列表 我编写了一个从SPPersistedObject继承的类SPAlert: public class SMSAlert: SPPersistedObject { [Persisted] private DateTime _scheduledTime; [Persisted] private Guid _listId; [Persisted] private G
public class SMSAlert: SPPersistedObject
{
[Persisted]
private DateTime _scheduledTime;
[Persisted]
private Guid _listId;
[Persisted]
private Guid _siteID;
}
然后我编写了一个类,该类继承自SPJobDefinition,并添加了我以前的对象的列表:
public sealed class MyCustomJob: SPJobDefinition
{
[Persisted]
private List<SMSAlert> _SMSAlerts;
}
它会引发一个异常:
信息:
SharePoint中的对象
行政框架,取决于
其他不存在的对象。
确保所有对象
将创建依赖项并重试
这次手术
堆叠
在
Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObjectsPersistedObject
obj,布尔存储类必需,
布尔确保在
Microsoft.SharePoint.Administration.SPConfigurationDatabase.PutObjectsPersistedObject
obj,布尔确保在
Microsoft.SharePoint.Administration.SPPersistedObject.Update
在
Microsoft.SharePoint.Administration.SPJobDefinition.Update
在
Sigi.Common.AlertBySMS.smsalerhandler.ScheduleJobSPWeb
web,SPAlertHandlerParams ahp
内部异常
SharePoint中的对象
行政框架取决于
其他不存在的对象
INSERT语句与冲突
外键约束
FK_依赖关系1_对象
数据库中发生冲突
SharePoint_配置,表
对象,列“Id”。这个
声明已终止
有人能帮我吗 是否为SMSAlert指定了默认构造函数?确保使用[System.Runtime.InteropServices.GuidGUID]为类标记唯一的GUID,并确保持久化对象的类具有默认构造函数。希望对您有所帮助。以上两个建议都非常重要,添加了Guid属性并确保您拥有默认构造函数。不仅针对持久化的SMSAlert对象,还要确保SPJobDefinition中也包含这些对象 此外,如果创建SPPersistedObject的集合,则必须确保集合中的每个对象都已更新。更好的替代方法是将SMSAlert设置为SpautoSerializengObject。SPAutoSerializingObject的集合,顾名思义,是自动序列化的 有关持久化对象的更多信息,请参阅这篇非常有用的文章:
不,我没有这样做,所以我添加了它,我不再有例外,但当我检索我的自定义作业时,列表中的项目数量很好,但每个项目都为空
myCustomJob.Update();