/// <inheritdoc /> public async Task <TQueryModel> FindEqualOrLessAsync(string id, int fromVersion) { var filterByPartition = TableQuery.GenerateFilterCondition(nameof(TableEntity.PartitionKey), QueryComparisons.Equal, id); var filterByRowKey = TableQuery.GenerateFilterCondition(nameof(TableEntity.RowKey), QueryComparisons.GreaterThanOrEqual, GetRowKey(fromVersion)); var filter = TableQuery.CombineFilters(filterByPartition, TableOperators.And, filterByRowKey); var query = new TableQuery <ImmutableTableEntity <TQueryModel> >() .Where(filter) .Take(1); var result = await TableProxy.ExecuteQuerySegmentedAsync(query, null); return(result.FirstOrDefault()?.DeserializeData()); }
protected override void WriteInternal(LogLevel level, object message, Exception exception) { String msgText = null; if (message == null) { msgText = ""; } else if (message is string) { msgText = (String)message; } else { var conv = TypeDescriptor.GetConverter(message.GetType()); if (conv.CanConvertTo(typeof(string))) { msgText = (string)conv.ConvertTo(message, typeof(string)); } } var le = new LogEvent { LoggerName = _loggerName, Level = level, Message = msgText, ExceptionStackTrace = exception != null?exception.ToString() : null, CreatedDate = DateTime.UtcNow }; try { le.ThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(null as IFormatProvider); le.DeploymentId = RoleEnvironment.IsAvailable ? RoleEnvironment.DeploymentId : "N/A"; le.RoleName = RoleEnvironment.IsAvailable ? RoleEnvironment.CurrentRoleInstance.Role.Name : "N/A"; } catch (Exception exLog) //lack of ability to load these should not prevent logging from occuring. { if (le.ExceptionStackTrace == null) { le.ExceptionStackTrace = "No Exception in event, but the following occured while logging the event."; } le.ExceptionStackTrace += String.Format(" {0}{1}", Environment.NewLine, exLog); } TableProxy.Insert(le); }
public virtual void VisitTableStart(TableProxy table) { }
public virtual void VisitTableEnd(TableProxy table) { }