本文整理汇总了C#中Exceptionless.Core.Models.PersistentEvent.UpdateSessionStart方法的典型用法代码示例。如果您正苦于以下问题:C# PersistentEvent.UpdateSessionStart方法的具体用法?C# PersistentEvent.UpdateSessionStart怎么用?C# PersistentEvent.UpdateSessionStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Exceptionless.Core.Models.PersistentEvent
的用法示例。
在下文中一共展示了PersistentEvent.UpdateSessionStart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ToSessionStartEvent
public static PersistentEvent ToSessionStartEvent(this PersistentEvent source, DateTime? lastActivityUtc = null, bool? isSessionEnd = null, bool hasPremiumFeatures = true) {
var startEvent = new PersistentEvent {
SessionId = source.SessionId,
Date = source.Date,
Geo = source.Geo,
OrganizationId = source.OrganizationId,
ProjectId = source.ProjectId,
Type = Event.KnownTypes.Session,
Value = 0
};
var ei = source.GetEnvironmentInfo();
if (ei != null) {
startEvent.SetEnvironmentInfo(new EnvironmentInfo {
Architecture = ei.Architecture,
CommandLine = ei.CommandLine,
Data = ei.Data,
InstallId = ei.InstallId,
IpAddress = ei.IpAddress,
MachineName = ei.MachineName,
OSName = ei.OSName,
OSVersion = ei.OSVersion,
ProcessId = ei.ProcessId,
ProcessName = ei.ProcessName,
ProcessorCount = ei.ProcessorCount,
RuntimeVersion = ei.RuntimeVersion,
TotalPhysicalMemory = ei.TotalPhysicalMemory
});
}
var ri = source.GetRequestInfo();
if (ri != null) {
startEvent.AddRequestInfo(new RequestInfo {
ClientIpAddress = ri.ClientIpAddress,
Data = ri.Data,
Host = ri.Host,
HttpMethod = ri.HttpMethod,
IsSecure = ri.IsSecure,
Port = ri.Port,
Path = ri.Path,
Referrer = ri.Referrer,
UserAgent = ri.UserAgent
});
}
startEvent.SetVersion(source.GetVersion());
startEvent.SetUserIdentity(source.GetUserIdentity());
if (lastActivityUtc.HasValue)
startEvent.UpdateSessionStart(lastActivityUtc.Value, isSessionEnd.GetValueOrDefault());
if (hasPremiumFeatures)
startEvent.CopyDataToIndex();
return startEvent;
}