本文整理汇总了C#中Session.GetObjectByKey方法的典型用法代码示例。如果您正苦于以下问题:C# Session.GetObjectByKey方法的具体用法?C# Session.GetObjectByKey怎么用?C# Session.GetObjectByKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Session
的用法示例。
在下文中一共展示了Session.GetObjectByKey方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSequencePrefix
public static string GetSequencePrefix(IDataLayer dataLayer) {
if (dataLayer == null)
throw new ArgumentNullException("dataLayer");
lock (SyncRoot) {
if (dataLayerForCachedServerPrefix/*.Target*/ != dataLayer) {
using (var session = new Session(dataLayer)) {
var sid = session.GetObjectByKey<XpoServerId>(0);
if (sid == null) {
// we can throw exception here instead of creating random prefix
sid = new XpoServerId(session) {
SequencePrefix = XpoDefault.NewGuid().ToString()
};
try {
sid.Save();
} catch {
sid = session.GetObjectByKey<XpoServerId>(0, true);
if (sid == null)
throw;
}
}
cachedSequencePrefix = sid.SequencePrefix;
dataLayerForCachedServerPrefix = dataLayer;
// dataLayerForCachedServerPrefix.Target = dataLayer; <<< if WeakReference
}
}
return cachedSequencePrefix;
}
}
示例2: GetUserOwner
/// <summary>
/// Возвращает собственника данных текущего пользователя для указанной сессии
/// </summary>
/// <param name="session">Сессия для сохранения и загрузки объектов</param>
/// <returns>Собственник даных текущего пользователя</returns>
public static Owner GetUserOwner(Session session)
{
if (UserOwner == null) return null;
return (Owner)session.GetObjectByKey(UserOwner.ClassInfo, UserOwner.Id);
}
示例3: GetObject
/// <summary>
/// Возвращает объект по ссылке
/// </summary>
/// <param name="session">Сессия для хранения и загрузки хранимых объектов</param>
/// <param name="classInfo">Информация о классе</param>
/// <returns>Объект или null, если ссылка пустая</returns>
public object GetObject(Session session, XPClassInfo classInfo)
{
object key = TargetKeyValue;
return key == null ? null : session.GetObjectByKey(classInfo, TargetKeyValue);
}