diff --git a/src/Umbraco.Core/Actions/ActionCollectionBuilder.cs b/src/Umbraco.Core/Actions/ActionCollectionBuilder.cs index eaea63b3a3..1fe3008610 100644 --- a/src/Umbraco.Core/Actions/ActionCollectionBuilder.cs +++ b/src/Umbraco.Core/Actions/ActionCollectionBuilder.cs @@ -8,7 +8,7 @@ namespace Umbraco.Web.Actions { protected override ActionCollectionBuilder This => this; - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { var items = base.CreateItems(factory).ToList(); diff --git a/src/Umbraco.Core/Composing/CollectionBuilderBase.cs b/src/Umbraco.Core/Composing/CollectionBuilderBase.cs index ca2bac3905..1c4de6cd8e 100644 --- a/src/Umbraco.Core/Composing/CollectionBuilderBase.cs +++ b/src/Umbraco.Core/Composing/CollectionBuilderBase.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Core.Composing { @@ -24,22 +25,22 @@ namespace Umbraco.Core.Composing public IEnumerable GetTypes() => _types; /// - public virtual void RegisterWith(IRegister register) + public virtual void RegisterWith(IServiceCollection services) { if (_registeredTypes != null) throw new InvalidOperationException("This builder has already been registered."); // register the collection - register.Register(CreateCollection, CollectionLifetime); + services.Add(new ServiceDescriptor(typeof(TCollection), CreateCollection, CollectionLifetime)); // register the types - RegisterTypes(register); + RegisterTypes(services); } /// /// Gets the collection lifetime. /// - protected virtual Lifetime CollectionLifetime => Lifetime.Singleton; + protected virtual ServiceLifetime CollectionLifetime => ServiceLifetime.Singleton; /// /// Configures the internal list of types. @@ -67,7 +68,7 @@ namespace Umbraco.Core.Composing return types; } - private void RegisterTypes(IRegister register) + private void RegisterTypes(IServiceCollection services) { lock (_locker) { @@ -84,7 +85,7 @@ namespace Umbraco.Core.Composing // was a dependency on an individual item, it would resolve a brand new transient instance which isn't what // we would expect to happen. The same item should be resolved from the container as the collection. foreach (var type in types) - register.Register(type, CollectionLifetime); + services.Add(new ServiceDescriptor(type, type, CollectionLifetime)); _registeredTypes = types; } @@ -94,7 +95,7 @@ namespace Umbraco.Core.Composing /// Creates the collection items. /// /// The collection items. - protected virtual IEnumerable CreateItems(IFactory factory) + protected virtual IEnumerable CreateItems(IServiceProvider factory) { if (_registeredTypes == null) throw new InvalidOperationException("Cannot create items before the collection builder has been registered."); @@ -107,15 +108,15 @@ namespace Umbraco.Core.Composing /// /// Creates a collection item. /// - protected virtual TItem CreateItem(IFactory factory, Type itemType) - => (TItem) factory.GetInstance(itemType); + protected virtual TItem CreateItem(IServiceProvider factory, Type itemType) + => (TItem) factory.GetRequiredService(itemType); /// /// Creates a collection. /// /// A collection. /// Creates a new collection each time it is invoked. - public virtual TCollection CreateCollection(IFactory factory) + public virtual TCollection CreateCollection(IServiceProvider factory) { return factory.CreateInstance( CreateItems(factory)); } diff --git a/src/Umbraco.Core/Composing/ComponentCollectionBuilder.cs b/src/Umbraco.Core/Composing/ComponentCollectionBuilder.cs index 47968d3568..903e2199e7 100644 --- a/src/Umbraco.Core/Composing/ComponentCollectionBuilder.cs +++ b/src/Umbraco.Core/Composing/ComponentCollectionBuilder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Logging; namespace Umbraco.Core.Composing @@ -18,9 +19,9 @@ namespace Umbraco.Core.Composing protected override ComponentCollectionBuilder This => this; - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { - _logger = factory.GetInstance(); + _logger = factory.GetRequiredService(); using (_logger.DebugDuration($"Creating components. (log when >{LogThresholdMilliseconds}ms)", "Created.")) { @@ -28,7 +29,7 @@ namespace Umbraco.Core.Composing } } - protected override IComponent CreateItem(IFactory factory, Type itemType) + protected override IComponent CreateItem(IServiceProvider factory, Type itemType) { using (_logger.DebugDuration($"Creating {itemType.FullName}.", $"Created {itemType.FullName}.", thresholdMilliseconds: LogThresholdMilliseconds)) { diff --git a/src/Umbraco.Core/Composing/Composition.cs b/src/Umbraco.Core/Composing/Composition.cs index 4ebc8c8f7e..fcadf7dd1b 100644 --- a/src/Umbraco.Core/Composing/Composition.cs +++ b/src/Umbraco.Core/Composing/Composition.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Cache; -using Umbraco.Core.Configuration; using Umbraco.Core.IO; using Umbraco.Core.Logging; @@ -15,25 +15,20 @@ namespace Umbraco.Core.Composing /// avoid accessing the container. This is because everything needs to be properly registered and with /// the proper lifecycle. These methods will take care of it. Directly registering into the container /// may cause issues. - public class Composition : IRegister + public class Composition { - private readonly Dictionary _builders = new Dictionary(); - private readonly Dictionary> _uniques = new Dictionary>(); - private readonly IRegister _register; + public TypeLoader TypeLoader { get; } + public IRuntimeState RuntimeState { get; } + public IProfilingLogger Logger { get; } + public IIOHelper IOHelper { get; } + public AppCaches AppCaches { get; } + public IServiceCollection Services { get; } - /// - /// Initializes a new instance of the class. - /// - /// A register. - /// A type loader. - /// A logger. - /// The runtime state. - /// Optional configs. - /// An IOHelper - /// - public Composition(IRegister register, TypeLoader typeLoader, IProfilingLogger logger, IRuntimeState runtimeState, IIOHelper ioHelper, AppCaches appCaches) + private readonly Dictionary _builders = new Dictionary(); + + public Composition(IServiceCollection services, TypeLoader typeLoader, IProfilingLogger logger, IRuntimeState runtimeState, IIOHelper ioHelper, AppCaches appCaches) { - _register = register ?? throw new ArgumentNullException(nameof(register)); + Services = services ?? throw new ArgumentNullException(nameof(services)); TypeLoader = typeLoader ?? throw new ArgumentNullException(nameof(typeLoader)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); RuntimeState = runtimeState ?? throw new ArgumentNullException(nameof(runtimeState)); @@ -41,119 +36,13 @@ namespace Umbraco.Core.Composing AppCaches = appCaches ?? throw new ArgumentNullException(nameof(appCaches)); } - #region Services - - /// - /// Gets the logger. - /// - public IProfilingLogger Logger { get; } - - public IIOHelper IOHelper { get; } - public AppCaches AppCaches { get; } - - /// - /// Gets the type loader. - /// - public TypeLoader TypeLoader { get; } - - /// - /// Gets the runtime state. - /// - public IRuntimeState RuntimeState { get; } - - #endregion - - #region IRegister - - /// - public void Register(Type serviceType, Lifetime lifetime = Lifetime.Transient) - => _register.Register(serviceType, lifetime); - - /// - public void Register(Type serviceType, Type implementingType, Lifetime lifetime = Lifetime.Transient) - => _register.Register(serviceType, implementingType, lifetime); - - /// - public void Register(Func factory, Lifetime lifetime = Lifetime.Transient) - where TService : class - => _register.Register(factory, lifetime); - - /// - public void Register(Type serviceType, object instance) - => _register.Register(serviceType, instance); - - - /// - public IFactory CreateFactory() + public void RegisterBuilders() { - foreach (var onCreating in OnCreatingFactory.Values) - onCreating(); - - foreach (var unique in _uniques.Values) - unique(_register); - _uniques.Clear(); // no point keep them around - foreach (var builder in _builders.Values) - builder.RegisterWith(_register); + builder.RegisterWith(Services); _builders.Clear(); // no point keep them around - - return _register.CreateFactory(); } - /// - /// Gets a dictionary of action to execute when creating the factory. - /// - public Dictionary OnCreatingFactory { get; } = new Dictionary(); - - #endregion - - #region Unique - - private string GetUniqueName() - => GetUniqueName(typeof(TService)); - - private string GetUniqueName(Type serviceType) - => serviceType.FullName; - - private string GetUniqueName() - => GetUniqueName(typeof(TService), typeof(TTarget)); - - private string GetUniqueName(Type serviceType, Type targetType) - => serviceType.FullName + "::" + targetType.FullName; - - /// - /// Registers a unique service as its own implementation. - /// - /// Unique services have one single implementation, and a Singleton lifetime. - public void RegisterUnique(Type serviceType) - => _uniques[GetUniqueName(serviceType)] = register => register.Register(serviceType, Lifetime.Singleton); - - /// - /// Registers a unique service with an implementation type. - /// - /// Unique services have one single implementation, and a Singleton lifetime. - public void RegisterUnique(Type serviceType, Type implementingType) - => _uniques[GetUniqueName(serviceType)] = register => register.Register(serviceType, implementingType, Lifetime.Singleton); - - /// - /// Registers a unique service with an implementation factory. - /// - /// Unique services have one single implementation, and a Singleton lifetime. - public void RegisterUnique(Func factory) - where TService : class - => _uniques[GetUniqueName()] = register => register.Register(factory, Lifetime.Singleton); - - /// - /// Registers a unique service with an implementing instance. - /// - /// Unique services have one single implementation, and a Singleton lifetime. - public void RegisterUnique(Type serviceType, object instance) - => _uniques[GetUniqueName(serviceType)] = register => register.Register(serviceType, instance); - - #endregion - - #region Collection Builders - /// /// Gets a collection builder (and registers the collection). /// @@ -171,7 +60,5 @@ namespace Umbraco.Core.Composing _builders[typeOfBuilder] = builder; return builder; } - - #endregion } } diff --git a/src/Umbraco.Core/Composing/CompositionExtensions.cs b/src/Umbraco.Core/Composing/CompositionExtensions.cs index 262c2a903c..b3dc4301c3 100644 --- a/src/Umbraco.Core/Composing/CompositionExtensions.cs +++ b/src/Umbraco.Core/Composing/CompositionExtensions.cs @@ -12,9 +12,9 @@ namespace Umbraco.Infrastructure.PublishedCache /// /// The composition. /// A function creating a published snapshot service. - public static void SetPublishedSnapshotService(this Composition composition, Func factory) + public static void SetPublishedSnapshotService(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -23,9 +23,9 @@ namespace Umbraco.Infrastructure.PublishedCache /// The type of the published snapshot service. /// The composition. public static void SetPublishedSnapshotService(this Composition composition) - where T : IPublishedSnapshotService + where T : class, IPublishedSnapshotService { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -35,7 +35,7 @@ namespace Umbraco.Infrastructure.PublishedCache /// A published snapshot service. public static void SetPublishedSnapshotService(this Composition composition, IPublishedSnapshotService service) { - composition.RegisterUnique(_ => service); + composition.Services.AddUnique(_ => service); } } } diff --git a/src/Umbraco.Core/Composing/Current.cs b/src/Umbraco.Core/Composing/Current.cs deleted file mode 100644 index 003f3ee6a2..0000000000 --- a/src/Umbraco.Core/Composing/Current.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Runtime.CompilerServices; -using Microsoft.Extensions.Options; -using Microsoft.Extensions.Logging; -using Umbraco.Core; -using Umbraco.Core.Configuration; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Hosting; -using Umbraco.Core.IO; -using Umbraco.Core.Logging; -using Microsoft.Extensions.Logging.Abstractions; - -namespace Umbraco.Composing -{ - public static class Current - { - private static ILogger _logger = new NullLogger(); - private static IIOHelper _ioHelper; - private static IHostingEnvironment _hostingEnvironment; - private static IBackOfficeInfo _backOfficeInfo; - private static IProfiler _profiler; - private static SecuritySettings _securitySettings; - private static GlobalSettings _globalSettings; - - public static ILogger Logger => EnsureInitialized(_logger); - public static IIOHelper IOHelper => EnsureInitialized(_ioHelper); - public static IHostingEnvironment HostingEnvironment => EnsureInitialized(_hostingEnvironment); - public static IBackOfficeInfo BackOfficeInfo => EnsureInitialized(_backOfficeInfo); - public static IProfiler Profiler => EnsureInitialized(_profiler); - public static SecuritySettings SecuritySettings => EnsureInitialized(_securitySettings); - public static GlobalSettings GlobalSettings => EnsureInitialized(_globalSettings); - - public static bool IsInitialized { get; internal set; } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static T EnsureInitialized(T returnValue) - where T : class - { - if (returnValue is null && !IsInitialized) - throw new InvalidOperationException("Current cannot be used before initialize"); - return returnValue; - } - - public static void Initialize( - ILogger logger, - SecuritySettings securitySettings, - GlobalSettings globalSettings, - IIOHelper ioHelper, - IHostingEnvironment hostingEnvironment, - IBackOfficeInfo backOfficeInfo, - IProfiler profiler) - { - if (IsInitialized) - { - throw new InvalidOperationException("Current cannot be initialized more than once"); - } - - _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _ioHelper = ioHelper ?? throw new ArgumentNullException(nameof(ioHelper)); - _hostingEnvironment = hostingEnvironment ?? throw new ArgumentNullException(nameof(hostingEnvironment)); - _backOfficeInfo = backOfficeInfo ?? throw new ArgumentNullException(nameof(backOfficeInfo)); - _profiler = profiler ?? throw new ArgumentNullException(nameof(profiler)); - _securitySettings = securitySettings ?? throw new ArgumentNullException(nameof(securitySettings)); - _globalSettings = globalSettings ?? throw new ArgumentNullException(nameof(globalSettings)); - - IsInitialized = true; - } - - } -} diff --git a/src/Umbraco.Core/Composing/ICollectionBuilder.cs b/src/Umbraco.Core/Composing/ICollectionBuilder.cs index 84ff3ba747..a48d06d2dd 100644 --- a/src/Umbraco.Core/Composing/ICollectionBuilder.cs +++ b/src/Umbraco.Core/Composing/ICollectionBuilder.cs @@ -1,4 +1,7 @@ -namespace Umbraco.Core.Composing +using System; +using Microsoft.Extensions.DependencyInjection; + +namespace Umbraco.Core.Composing { /// /// Represents a collection builder. @@ -9,7 +12,7 @@ /// Registers the builder so it can build the collection, by /// registering the collection and the types. /// - void RegisterWith(IRegister register); + void RegisterWith(IServiceCollection services); } /// @@ -25,6 +28,6 @@ /// /// A collection. /// Creates a new collection each time it is invoked. - TCollection CreateCollection(IFactory factory); + TCollection CreateCollection(IServiceProvider factory); } } diff --git a/src/Umbraco.Core/Composing/IFactory.cs b/src/Umbraco.Core/Composing/IFactory.cs deleted file mode 100644 index c53e523967..0000000000 --- a/src/Umbraco.Core/Composing/IFactory.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Umbraco.Core.Composing -{ - /// - /// Defines a service factory for Umbraco. - /// - public interface IFactory - { - /// - /// Gets the concrete factory. - /// - object Concrete { get; } - - /// - /// Gets an instance of a service. - /// - /// The type of the service. - /// An instance of the specified type. - /// Throws an exception if the container failed to get an instance of the specified type. - object GetInstance(Type type); - - /// - /// Tries to get an instance of a service. - /// - /// The type of the service. - /// An instance of the specified type, or null. - /// Returns null if the container does not know how to get an instance - /// of the specified type. Throws an exception if the container does know how - /// to get an instance of the specified type, but failed to do so. - object TryGetInstance(Type type); - - /// - /// Gets all instances of a service. - /// - /// The type of the service. - IEnumerable GetAllInstances(Type serviceType); - - /// - /// Gets all instances of a service. - /// - /// The type of the service. - IEnumerable GetAllInstances() - where TService : class; - - /// - /// Begins a scope. - /// - /// - /// When the scope is disposed, scoped instances that have been created during the scope are disposed. - /// Scopes can be nested. Each instance is disposed individually. - /// - IDisposable BeginScope(); - } -} diff --git a/src/Umbraco.Core/Composing/IRegister.cs b/src/Umbraco.Core/Composing/IRegister.cs deleted file mode 100644 index f00d8ac071..0000000000 --- a/src/Umbraco.Core/Composing/IRegister.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; - -namespace Umbraco.Core.Composing -{ - /// - /// Defines a service register for Umbraco. - /// - public interface IRegister - { - /// - /// Registers a service as its own implementation. - /// - void Register(Type serviceType, Lifetime lifetime = Lifetime.Transient); - - /// - /// Registers a service with an implementation type. - /// - void Register(Type serviceType, Type implementingType, Lifetime lifetime = Lifetime.Transient); - - /// - /// Registers a service with an implementation factory. - /// - void Register(Func factory, Lifetime lifetime = Lifetime.Transient) - where TService : class; - - /// - /// Registers a service with an implementing instance. - /// - void Register(Type serviceType, object instance); - - #region Control - - /// - /// Creates the factory. - /// - IFactory CreateFactory(); - - #endregion - } -} diff --git a/src/Umbraco.Core/Composing/LazyResolve.cs b/src/Umbraco.Core/Composing/LazyResolve.cs new file mode 100644 index 0000000000..5a60b54d87 --- /dev/null +++ b/src/Umbraco.Core/Composing/LazyResolve.cs @@ -0,0 +1,13 @@ +using System; +using Microsoft.Extensions.DependencyInjection; + +namespace Umbraco.Core.Composing +{ + public class LazyResolve : Lazy + where T : class + { + public LazyResolve(IServiceProvider serviceProvider) + : base(serviceProvider.GetRequiredService) + { } + } +} diff --git a/src/Umbraco.Core/Composing/Lifetime.cs b/src/Umbraco.Core/Composing/Lifetime.cs deleted file mode 100644 index 012555be5e..0000000000 --- a/src/Umbraco.Core/Composing/Lifetime.cs +++ /dev/null @@ -1,80 +0,0 @@ -namespace Umbraco.Core.Composing -{ - /// - /// Specifies the lifetime of a registered instance. - /// - public enum Lifetime - { - /// - /// Always get a new instance. - /// - /// Corresponds to Transient in LightInject, Castle Windsor - /// or MS.DI, PerDependency in Autofac. - Transient, - - // TODO: We need to fix this up, currently LightInject is the only one that behaves differently from all other containers. - // ... the simple fix would be to map this to PerScopeLifetime in LI but need to wait on a response here https://github.com/seesharper/LightInject/issues/494#issuecomment-518942625 - // - // we use it for controllers, httpContextBase and other request scoped objects: MembershpHelper, TagQuery, UmbracoTreeSearcher and ISearchableTree - // - so that they are automatically disposed at the end of the scope (ie request) - // - not sure they should not be simply 'scoped'? - - /// - /// One unique instance per request. - /// - /// - /// - /// Any instance created with this lifetime will be disposed at the end of a request. - /// - /// Corresponds to - /// - /// PerRequestLifeTime in LightInject - means transient but disposed at the end of the current web request. - /// see: https://github.com/seesharper/LightInject/issues/494#issuecomment-518493262 - /// - /// - /// Scoped in MS.DI - means one per web request. - /// see https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2#service-lifetimes - /// - /// InstancePerRequest in Autofac - means one per web request. - /// see https://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html#instance-per-request - /// But "Behind the scenes, though, it’s still just instance per matching lifetime scope." - /// - /// - /// LifestylePerWebRequest in Castle Windsor - means one per web request. - /// see https://github.com/castleproject/Windsor/blob/master/docs/mvc-tutorial-part-7-lifestyles.md#the-perwebrequest-lifestyle - /// - /// - Request, - - /// - /// One unique instance per scope. - /// - /// - /// - /// Any instance created with this lifetime will be disposed at the end of the current scope. - /// - /// Corresponds to - /// PerScopeLifetime in LightInject (when in a request, means one per web request) - /// - /// Scoped in MS.DI (when in a request, means one per web request) - /// see https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2#service-lifetimes - /// - /// InstancePerLifetimeScope in Autofac (when in a request, means one per web request) - /// see https://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html#instance-per-lifetime-scope - /// Also note that Autofac's InstancePerRequest is the same as this, see https://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html#instance-per-request - /// it says "Behind the scenes, though, it’s still just instance per matching lifetime scope." - /// - /// - /// LifestyleScoped in Castle Windsor - /// - /// - Scope, - - /// - /// One unique instance per container. - /// - /// Corresponds to Singleton in LightInject, Castle Windsor - /// or MS.DI and to SingleInstance in Autofac. - Singleton - } -} diff --git a/src/Umbraco.Core/Composing/TypeCollectionBuilderBase.cs b/src/Umbraco.Core/Composing/TypeCollectionBuilderBase.cs index b4dcd39da2..edbf554a2c 100644 --- a/src/Umbraco.Core/Composing/TypeCollectionBuilderBase.cs +++ b/src/Umbraco.Core/Composing/TypeCollectionBuilderBase.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Core.Composing { @@ -51,14 +52,14 @@ namespace Umbraco.Core.Composing return This; } - public TCollection CreateCollection(IFactory factory) + public TCollection CreateCollection(IServiceProvider factory) { return factory.CreateInstance(_types); } - public void RegisterWith(IRegister register) + public void RegisterWith(IServiceCollection services) { - register.Register(CreateCollection, Lifetime.Singleton); + services.Add(new ServiceDescriptor(typeof(TCollection), CreateCollection, ServiceLifetime.Singleton)); } } } diff --git a/src/Umbraco.Core/CompositionExtensions_Uniques.cs b/src/Umbraco.Core/CompositionExtensions_Uniques.cs deleted file mode 100644 index cc08889c2d..0000000000 --- a/src/Umbraco.Core/CompositionExtensions_Uniques.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Umbraco.Core.Composing; - -namespace Umbraco.Core -{ - /// - /// Provides extension methods to the class. - /// - public static partial class CompositionExtensions - { - /// - /// Registers a unique service as its own implementation. - /// - public static void RegisterUnique(this Composition composition) - => composition.RegisterUnique(typeof(TService), typeof(TService)); - - /// - /// Registers a unique service with an implementation type. - /// - public static void RegisterUnique(this Composition composition) - => composition.RegisterUnique(typeof(TService), typeof(TImplementing)); - - /// - /// Registers a unique service with an implementing instance. - /// - public static void RegisterUnique(this Composition composition, TService instance) - => composition.RegisterUnique(typeof(TService), instance); - - - - /// - /// Registers a unique service with an implementation type. - /// - public static void RegisterMultipleUnique(this Composition composition) - where TImplementing : class, TService1, TService2 - where TService1 : class - where TService2 : class - { - composition.RegisterUnique(); - composition.RegisterUnique(factory => factory.GetInstance()); - composition.RegisterUnique(factory => factory.GetInstance()); - } - } -} diff --git a/src/Umbraco.Core/Configuration/ICronTabParser.cs b/src/Umbraco.Core/Configuration/ICronTabParser.cs new file mode 100644 index 0000000000..2238be4a4c --- /dev/null +++ b/src/Umbraco.Core/Configuration/ICronTabParser.cs @@ -0,0 +1,10 @@ +using System; + +namespace Umbraco.Core.Configuration +{ + public interface ICronTabParser + { + bool IsValidCronTab(string cronTab); + DateTime GetNextOccurrence(string cronTab, DateTime time); + } +} diff --git a/src/Umbraco.Core/Configuration/Models/DatabaseServerMessengerSettings.cs b/src/Umbraco.Core/Configuration/Models/DatabaseServerMessengerSettings.cs new file mode 100644 index 0000000000..32b957d5d0 --- /dev/null +++ b/src/Umbraco.Core/Configuration/Models/DatabaseServerMessengerSettings.cs @@ -0,0 +1,27 @@ +using System; + +namespace Umbraco.Core.Configuration.Models +{ + public class DatabaseServerMessengerSettings + { + /// + /// The maximum number of instructions that can be processed at startup; otherwise the server cold-boots (rebuilds its caches). + /// + public int MaxProcessingInstructionCount { get; set; } = 1000; + + /// + /// The time to keep instructions in the database; records older than this number will be pruned. + /// + public TimeSpan TimeToRetainInstructions { get; set; } = TimeSpan.FromDays(2); + + /// + /// The time to wait between each sync operations. + /// + public TimeSpan TimeBetweenSyncOperations { get; set; } = TimeSpan.FromSeconds(5); + + /// + /// The time to wait between each prune operations. + /// + public TimeSpan TimeBetweenPruneOperations { get; set; } = TimeSpan.FromMinutes(1); + } +} diff --git a/src/Umbraco.Core/Configuration/Models/DatabaseServerRegistrarSettings.cs b/src/Umbraco.Core/Configuration/Models/DatabaseServerRegistrarSettings.cs new file mode 100644 index 0000000000..1aa670fae6 --- /dev/null +++ b/src/Umbraco.Core/Configuration/Models/DatabaseServerRegistrarSettings.cs @@ -0,0 +1,17 @@ +using System; + +namespace Umbraco.Core.Configuration.Models +{ + public class DatabaseServerRegistrarSettings + { + /// + /// The amount of time to wait between calls to the database on the background thread. + /// + public TimeSpan WaitTimeBetweenCalls { get; set; } = TimeSpan.FromMinutes(1); + + /// + /// The time span to wait before considering a server stale, after it has last been accessed. + /// + public TimeSpan StaleServerTimeout { get; set; } = TimeSpan.FromMinutes(2); + } +} diff --git a/src/Umbraco.Core/HealthCheck/Checks/DisabledHealthCheck.cs b/src/Umbraco.Core/Configuration/Models/DisabledHealthCheckSettings.cs similarity index 64% rename from src/Umbraco.Core/HealthCheck/Checks/DisabledHealthCheck.cs rename to src/Umbraco.Core/Configuration/Models/DisabledHealthCheckSettings.cs index 99ff05ed55..1d96a9027f 100644 --- a/src/Umbraco.Core/HealthCheck/Checks/DisabledHealthCheck.cs +++ b/src/Umbraco.Core/Configuration/Models/DisabledHealthCheckSettings.cs @@ -1,11 +1,13 @@ using System; -namespace Umbraco.Core.HealthCheck.Checks +namespace Umbraco.Core.Configuration.Models { - public class DisabledHealthCheck + public class DisabledHealthCheckSettings { public Guid Id { get; set; } + public DateTime DisabledOn { get; set; } + public int DisabledBy { get; set; } } } diff --git a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs index 090d512e87..b6e5cf2b4d 100644 --- a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs @@ -49,13 +49,17 @@ public bool DisableElectionForSingleServer { get; set; } = false; + public DatabaseServerRegistrarSettings DatabaseServerRegistrar { get; set; } = new DatabaseServerRegistrarSettings(); + + public DatabaseServerMessengerSettings DatabaseServerMessenger { get; set; } = new DatabaseServerMessengerSettings(); + public string RegisterType { get; set; } = string.Empty; public string DatabaseFactoryServerVersion { get; set; } = string.Empty; public string MainDomLock { get; set; } = string.Empty; - public string NoNodesViewPath { get; set; } = "~/config/splashes/NoNodes.cshtml"; + public string NoNodesViewPath { get; set; } = "~/umbraco/UmbracoWebsite/NoNodes.cshtml"; public bool IsSmtpServerConfigured => !string.IsNullOrWhiteSpace(Smtp?.Host); diff --git a/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationMethodSettings.cs b/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationMethodSettings.cs new file mode 100644 index 0000000000..1cfc4f9168 --- /dev/null +++ b/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationMethodSettings.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using Umbraco.Core.HealthCheck; + +namespace Umbraco.Core.Configuration.Models +{ + public class HealthChecksNotificationMethodSettings + { + public bool Enabled { get; set; } = false; + + public HealthCheckNotificationVerbosity Verbosity { get; set; } = HealthCheckNotificationVerbosity.Summary; + + public bool FailureOnly { get; set; } = false; + + public IDictionary Settings { get; set; } = new Dictionary(); + } +} diff --git a/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationSettings.cs b/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationSettings.cs new file mode 100644 index 0000000000..052b5a4997 --- /dev/null +++ b/src/Umbraco.Core/Configuration/Models/HealthChecksNotificationSettings.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Umbraco.Core.Configuration.Models +{ + public class HealthChecksNotificationSettings + { + public bool Enabled { get; set; } = false; + + public string FirstRunTime { get; set; } = string.Empty; + + public TimeSpan Period { get; set; } = TimeSpan.FromHours(24); + + public IDictionary NotificationMethods { get; set; } = new Dictionary(); + + public IEnumerable DisabledChecks { get; set; } = Enumerable.Empty(); + } +} diff --git a/src/Umbraco.Core/Configuration/Models/HealthChecksSettings.cs b/src/Umbraco.Core/Configuration/Models/HealthChecksSettings.cs index 7600b946fd..705611b0c1 100644 --- a/src/Umbraco.Core/Configuration/Models/HealthChecksSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/HealthChecksSettings.cs @@ -1,27 +1,12 @@ using System.Collections.Generic; using System.Linq; -using Umbraco.Core.HealthCheck; -using Umbraco.Core.HealthCheck.Checks; namespace Umbraco.Core.Configuration.Models { public class HealthChecksSettings { - public IEnumerable DisabledChecks { get; set; } = Enumerable.Empty(); + public IEnumerable DisabledChecks { get; set; } = Enumerable.Empty(); - public HealthCheckNotificationSettings NotificationSettings { get; set; } = new HealthCheckNotificationSettings(); - - public class HealthCheckNotificationSettings - { - public bool Enabled { get; set; } = false; - - public string FirstRunTime { get; set; } - - public int PeriodInHours { get; set; } = 24; - - public IReadOnlyDictionary NotificationMethods { get; set; } = new Dictionary(); - - public IEnumerable DisabledChecks { get; set; } = Enumerable.Empty(); - } + public HealthChecksNotificationSettings Notification { get; set; } = new HealthChecksNotificationSettings(); } } diff --git a/src/Umbraco.Core/Configuration/Models/KeepAliveSettings.cs b/src/Umbraco.Core/Configuration/Models/KeepAliveSettings.cs index 01d3b36a5d..2c53407398 100644 --- a/src/Umbraco.Core/Configuration/Models/KeepAliveSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/KeepAliveSettings.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.Models { public class KeepAliveSettings { - public bool DisableKeepAliveTask => false; + public bool DisableKeepAliveTask { get; set; } = false; public string KeepAlivePingUrl => "{umbracoApplicationUrl}/api/keepalive/ping"; } diff --git a/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs b/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs index 414ff06b57..7d79bb83ae 100644 --- a/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs @@ -1,7 +1,9 @@ -namespace Umbraco.Core.Configuration.Models +using System; + +namespace Umbraco.Core.Configuration.Models { public class LoggingSettings { - public int MaxLogAge { get; set; } = -1; + public TimeSpan MaxLogAge { get; set; } = TimeSpan.FromHours(24); } } diff --git a/src/Umbraco.Core/Configuration/Models/SmtpSettings.cs b/src/Umbraco.Core/Configuration/Models/SmtpSettings.cs index 7c19f28d87..c1ba5edea2 100644 --- a/src/Umbraco.Core/Configuration/Models/SmtpSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/SmtpSettings.cs @@ -1,10 +1,22 @@ -using System; -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; using System.Net.Mail; using Umbraco.Core.Configuration.Models.Validation; namespace Umbraco.Core.Configuration.Models { + /// + /// Matches MailKit.Security.SecureSocketOptions and defined locally to avoid having to take + /// thi + /// + public enum SecureSocketOptions + { + None = 0, + Auto = 1, + SslOnConnect = 2, + StartTls = 3, + StartTlsWhenAvailable = 4 + } + public class SmtpSettings : ValidatableEntryBase { [Required] @@ -15,6 +27,8 @@ namespace Umbraco.Core.Configuration.Models public int Port { get; set; } + public SecureSocketOptions SecureSocketOptions { get; set; } = SecureSocketOptions.Auto; + public string PickupDirectoryLocation { get; set; } public SmtpDeliveryMethod DeliveryMethod { get; set; } = SmtpDeliveryMethod.Network; diff --git a/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidatorBase.cs b/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidatorBase.cs index fe8d077166..6c0af9802b 100644 --- a/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidatorBase.cs +++ b/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidatorBase.cs @@ -41,5 +41,8 @@ namespace Umbraco.Core.Configuration.Models.Validation message = string.Empty; return true; } + + + } } diff --git a/src/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidator.cs b/src/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidator.cs index 9ed22f922e..f6e839aa39 100644 --- a/src/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidator.cs +++ b/src/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidator.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using Microsoft.Extensions.Options; -using Umbraco.Core.Macros; namespace Umbraco.Core.Configuration.Models.Validation { diff --git a/src/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidator.cs b/src/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidator.cs new file mode 100644 index 0000000000..f26fce9bd9 --- /dev/null +++ b/src/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidator.cs @@ -0,0 +1,41 @@ +using Microsoft.Extensions.Options; + +namespace Umbraco.Core.Configuration.Models.Validation +{ + public class HealthChecksSettingsValidator : ConfigurationValidatorBase, IValidateOptions + { + private readonly ICronTabParser _cronTabParser; + + public HealthChecksSettingsValidator(ICronTabParser cronTabParser) + { + _cronTabParser = cronTabParser; + } + + public ValidateOptionsResult Validate(string name, HealthChecksSettings options) + { + if (!ValidateNotificationFirstRunTime(options.Notification.FirstRunTime, out var message)) + { + return ValidateOptionsResult.Fail(message); + } + + return ValidateOptionsResult.Success; + } + + private bool ValidateNotificationFirstRunTime(string value, out string message) + { + return ValidateOptionalCronTab($"{Constants.Configuration.ConfigHealthChecks}:{nameof(HealthChecksSettings.Notification)}:{nameof(HealthChecksSettings.Notification.FirstRunTime)}", value, out message); + } + + public bool ValidateOptionalCronTab(string configPath, string value, out string message) + { + if (!string.IsNullOrEmpty(value) && !_cronTabParser.IsValidCronTab(value)) + { + message = $"Configuration entry {configPath} contains an invalid cron expression."; + return false; + } + + message = string.Empty; + return true; + } + } +} diff --git a/src/Umbraco.Core/Constants-SystemDirectories.cs b/src/Umbraco.Core/Constants-SystemDirectories.cs index 53e14bb6ec..d4ca2a3c57 100644 --- a/src/Umbraco.Core/Constants-SystemDirectories.cs +++ b/src/Umbraco.Core/Constants-SystemDirectories.cs @@ -20,7 +20,7 @@ public const string AppCode = "~/App_Code"; - public const string AppPlugins = "~/App_Plugins"; + public const string AppPlugins = "/App_Plugins"; public const string MvcViews = "~/Views"; diff --git a/src/Umbraco.Core/ContentApps/ContentAppFactoryCollectionBuilder.cs b/src/Umbraco.Core/ContentApps/ContentAppFactoryCollectionBuilder.cs index 0e2c8e2f55..0f0e09042b 100644 --- a/src/Umbraco.Core/ContentApps/ContentAppFactoryCollectionBuilder.cs +++ b/src/Umbraco.Core/ContentApps/ContentAppFactoryCollectionBuilder.cs @@ -1,5 +1,7 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Composing; @@ -15,21 +17,21 @@ namespace Umbraco.Web.ContentApps protected override ContentAppFactoryCollectionBuilder This => this; // need to inject dependencies in the collection, so override creation - public override ContentAppFactoryCollection CreateCollection(IFactory factory) + public override ContentAppFactoryCollection CreateCollection(IServiceProvider factory) { // get the logger factory just-in-time - see note below for manifest parser - var loggerFactory = factory.GetInstance(); - var umbracoContextAccessor = factory.GetInstance(); + var loggerFactory = factory.GetRequiredService(); + var umbracoContextAccessor = factory.GetRequiredService(); return new ContentAppFactoryCollection(CreateItems(factory), loggerFactory.CreateLogger(), umbracoContextAccessor); } - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { // get the manifest parser just-in-time - injecting it in the ctor would mean that // simply getting the builder in order to configure the collection, would require // its dependencies too, and that can create cycles or other oddities - var manifestParser = factory.GetInstance(); - var ioHelper = factory.GetInstance(); + var manifestParser = factory.GetRequiredService(); + var ioHelper = factory.GetRequiredService(); return base.CreateItems(factory).Concat(manifestParser.Manifest.ContentApps.Select(x => new ManifestContentAppFactory(x, ioHelper))); } } diff --git a/src/Umbraco.Core/Dashboards/DashboardCollectionBuilder.cs b/src/Umbraco.Core/Dashboards/DashboardCollectionBuilder.cs index a903d15abb..7ed241b819 100644 --- a/src/Umbraco.Core/Dashboards/DashboardCollectionBuilder.cs +++ b/src/Umbraco.Core/Dashboards/DashboardCollectionBuilder.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Dashboards; @@ -26,12 +27,12 @@ namespace Umbraco.Web.Dashboards return this; } - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { // get the manifest parser just-in-time - injecting it in the ctor would mean that // simply getting the builder in order to configure the collection, would require // its dependencies too, and that can create cycles or other oddities - var manifestParser = factory.GetInstance(); + var manifestParser = factory.GetRequiredService(); var dashboardSections = Merge(base.CreateItems(factory), manifestParser.Manifest.Dashboards); diff --git a/src/Umbraco.Core/DateTimeExtensions.cs b/src/Umbraco.Core/DateTimeExtensions.cs index f665aaa8ed..378d06a637 100644 --- a/src/Umbraco.Core/DateTimeExtensions.cs +++ b/src/Umbraco.Core/DateTimeExtensions.cs @@ -43,42 +43,5 @@ namespace Umbraco.Core Minute, Second } - - /// - /// Calculates the number of minutes from a date time, on a rolling daily basis (so if - /// date time is before the time, calculate onto next day) - /// - /// Date to start from - /// Time to compare against (in Hmm form, e.g. 330, 2200) - /// - public static int PeriodicMinutesFrom(this DateTime fromDateTime, string scheduledTime) - { - // Ensure time provided is 4 digits long - if (scheduledTime.Length == 3) - { - scheduledTime = "0" + scheduledTime; - } - - var scheduledHour = int.Parse(scheduledTime.Substring(0, 2)); - var scheduledMinute = int.Parse(scheduledTime.Substring(2)); - - DateTime scheduledDateTime; - if (IsScheduledInRemainingDay(fromDateTime, scheduledHour, scheduledMinute)) - { - scheduledDateTime = new DateTime(fromDateTime.Year, fromDateTime.Month, fromDateTime.Day, scheduledHour, scheduledMinute, 0); - } - else - { - var nextDay = fromDateTime.AddDays(1); - scheduledDateTime = new DateTime(nextDay.Year, nextDay.Month, nextDay.Day, scheduledHour, scheduledMinute, 0); - } - - return (int)(scheduledDateTime - fromDateTime).TotalMinutes; - } - - private static bool IsScheduledInRemainingDay(DateTime fromDateTime, int scheduledHour, int scheduledMinute) - { - return scheduledHour > fromDateTime.Hour || (scheduledHour == fromDateTime.Hour && scheduledMinute >= fromDateTime.Minute); - } } } diff --git a/src/Umbraco.Core/FactoryExtensions.cs b/src/Umbraco.Core/FactoryExtensions.cs deleted file mode 100644 index 8ae2f76af3..0000000000 --- a/src/Umbraco.Core/FactoryExtensions.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Umbraco.Core.Composing; - -namespace Umbraco.Core -{ - /// - /// Provides extension methods to the class. - /// - public static class FactoryExtensions - { - /// - /// Gets an instance of a service. - /// - /// The type of the service. - /// The factory. - /// An instance of the specified type. - /// Throws an exception if the factory failed to get an instance of the specified type. - public static T GetInstance(this IFactory factory) - where T : class - => (T)factory.GetInstance(typeof(T)); - - /// - /// Tries to get an instance of a service. - /// - /// The type of the service. - /// An instance of the specified type, or null. - /// Returns null if the factory does not know how to get an instance - /// of the specified type. Throws an exception if the factory does know how - /// to get an instance of the specified type, but failed to do so. - public static T TryGetInstance(this IFactory factory) - where T : class - => (T)factory.TryGetInstance(typeof(T)); - - /// - /// Creates an instance with arguments. - /// - /// The type of the instance. - /// The factory. - /// Arguments. - /// An instance of the specified type. - /// - /// Throws an exception if the factory failed to get an instance of the specified type. - /// The arguments are used as dependencies by the factory. - /// - public static T CreateInstance(this IFactory factory, params object[] args) - where T : class - => (T)factory.CreateInstance(typeof(T), args); - - /// - /// Creates an instance of a service, with arguments. - /// - /// - /// The type of the instance. - /// Named arguments. - /// An instance of the specified type. - /// - /// The instance type does not need to be registered into the factory. - /// The arguments are used as dependencies by the factory. Other dependencies - /// are retrieved from the factory. - /// - public static object CreateInstance(this IFactory factory, Type type, params object[] args) - { - // LightInject has this, but then it requires RegisterConstructorDependency etc and has various oddities - // including the most annoying one, which is that it does not work on singletons (hard to fix) - //return factory.GetInstance(type, args); - - // this method is essentially used to build singleton instances, so it is assumed that it would be - // more expensive to build and cache a dynamic method ctor than to simply invoke the ctor, as we do - // here - this can be discussed - - // TODO: we currently try the ctor with most parameters, but we could want to fall back to others - - var ctor = type.GetConstructors(BindingFlags.Instance | BindingFlags.Public).OrderByDescending(x => x.GetParameters().Length).FirstOrDefault(); - if (ctor == null) throw new InvalidOperationException($"Could not find a public constructor for type {type.FullName}."); - - var ctorParameters = ctor.GetParameters(); - var ctorArgs = new object[ctorParameters.Length]; - var availableArgs = new List(args); - var i = 0; - foreach (var parameter in ctorParameters) - { - // no! IsInstanceOfType is not ok here - // ReSharper disable once UseMethodIsInstanceOfType - var idx = availableArgs.FindIndex(a => parameter.ParameterType.IsAssignableFrom(a.GetType())); - if(idx >= 0) - { - // Found a suitable supplied argument - ctorArgs[i++] = availableArgs[idx]; - - // A supplied argument can be used at most once - availableArgs.RemoveAt(idx); - } - else - { - // None of the provided arguments is suitable: get an instance from the factory - ctorArgs[i++] = factory.GetInstance(parameter.ParameterType); - } - } - return ctor.Invoke(ctorArgs); - } - } -} diff --git a/src/Umbraco.Core/HealthCheck/HealthCheck.cs b/src/Umbraco.Core/HealthCheck/HealthCheck.cs index 89a1f41f4d..9f4e364be6 100644 --- a/src/Umbraco.Core/HealthCheck/HealthCheck.cs +++ b/src/Umbraco.Core/HealthCheck/HealthCheck.cs @@ -13,8 +13,8 @@ namespace Umbraco.Core.HealthCheck { protected HealthCheck() { - Type thisType = GetType(); - HealthCheckAttribute meta = thisType.GetCustomAttribute(false); + var thisType = GetType(); + var meta = thisType.GetCustomAttribute(false); if (meta == null) { throw new InvalidOperationException($"The health check {thisType} requires a {typeof(HealthCheckAttribute)}"); diff --git a/src/Umbraco.Core/HealthCheck/HeathCheckCollectionBuilder.cs b/src/Umbraco.Core/HealthCheck/HeathCheckCollectionBuilder.cs index 0894cb1912..be3a788cff 100644 --- a/src/Umbraco.Core/HealthCheck/HeathCheckCollectionBuilder.cs +++ b/src/Umbraco.Core/HealthCheck/HeathCheckCollectionBuilder.cs @@ -1,4 +1,5 @@ -using Umbraco.Core.Composing; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; namespace Umbraco.Core.HealthCheck { @@ -8,6 +9,6 @@ namespace Umbraco.Core.HealthCheck // note: in v7 they were per-request, not sure why? // the collection is injected into the controller & there's only 1 controller per request anyways - protected override Lifetime CollectionLifetime => Lifetime.Transient; // transient! + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Transient; // transient! } } diff --git a/src/Umbraco.Core/HealthCheck/INotificationMethod.cs b/src/Umbraco.Core/HealthCheck/INotificationMethod.cs deleted file mode 100644 index 9c4ec70cfe..0000000000 --- a/src/Umbraco.Core/HealthCheck/INotificationMethod.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; - -namespace Umbraco.Core.HealthCheck -{ - public interface INotificationMethod - { - string Alias { get; } - bool Enabled { get; } - HealthCheckNotificationVerbosity Verbosity { get; } - bool FailureOnly { get; } - IReadOnlyDictionary Settings { get; } - } -} diff --git a/src/Umbraco.Core/HealthCheck/INotificationMethodSettings.cs b/src/Umbraco.Core/HealthCheck/INotificationMethodSettings.cs deleted file mode 100644 index 01ad667d94..0000000000 --- a/src/Umbraco.Core/HealthCheck/INotificationMethodSettings.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Umbraco.Core.HealthCheck -{ - public interface INotificationMethodSettings - { - string Key { get; } - string Value { get; } - } -} diff --git a/src/Umbraco.Core/IO/CleanFolderResult.cs b/src/Umbraco.Core/IO/CleanFolderResult.cs new file mode 100644 index 0000000000..547157daff --- /dev/null +++ b/src/Umbraco.Core/IO/CleanFolderResult.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace Umbraco.Core.IO +{ + public class CleanFolderResult + { + private CleanFolderResult() + { + } + + public CleanFolderResultStatus Status { get; private set; } + + public IReadOnlyCollection Errors { get; private set; } + + public static CleanFolderResult Success() + { + return new CleanFolderResult { Status = CleanFolderResultStatus.Success }; + } + + public static CleanFolderResult FailedAsDoesNotExist() + { + return new CleanFolderResult { Status = CleanFolderResultStatus.FailedAsDoesNotExist }; + } + + public static CleanFolderResult FailedWithErrors(List errors) + { + return new CleanFolderResult + { + Status = CleanFolderResultStatus.FailedWithException, + Errors = errors.AsReadOnly(), + }; + } + + public class Error + { + public Error(Exception exception, FileInfo erroringFile) + { + Exception = exception; + ErroringFile = erroringFile; + } + + public Exception Exception { get; set; } + + public FileInfo ErroringFile { get; set; } + } + } +} diff --git a/src/Umbraco.Core/IO/CleanFolderResultStatus.cs b/src/Umbraco.Core/IO/CleanFolderResultStatus.cs new file mode 100644 index 0000000000..41bd56d53d --- /dev/null +++ b/src/Umbraco.Core/IO/CleanFolderResultStatus.cs @@ -0,0 +1,9 @@ +namespace Umbraco.Core.IO +{ + public enum CleanFolderResultStatus + { + Success, + FailedAsDoesNotExist, + FailedWithException + } +} diff --git a/src/Umbraco.Core/IO/FileSystems.cs b/src/Umbraco.Core/IO/FileSystems.cs index 485e6b6446..a19ebd999b 100644 --- a/src/Umbraco.Core/IO/FileSystems.cs +++ b/src/Umbraco.Core/IO/FileSystems.cs @@ -3,8 +3,6 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Threading; using Microsoft.Extensions.Logging; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; using Umbraco.Core.Hosting; using Umbraco.Core.Configuration.Models; using Microsoft.Extensions.Options; @@ -13,7 +11,7 @@ namespace Umbraco.Core.IO { public class FileSystems : IFileSystems { - private readonly IFactory _container; + private readonly IServiceProvider _container; private readonly ILogger _logger; private readonly ILoggerFactory _loggerFactory; private readonly IIOHelper _ioHelper; @@ -39,7 +37,7 @@ namespace Umbraco.Core.IO #region Constructor // DI wants a public ctor - public FileSystems(IFactory container, ILogger logger, ILoggerFactory loggerFactory, IIOHelper ioHelper, IOptions globalSettings, IHostingEnvironment hostingEnvironment) + public FileSystems(IServiceProvider container, ILogger logger, ILoggerFactory loggerFactory, IIOHelper ioHelper, IOptions globalSettings, IHostingEnvironment hostingEnvironment) { _container = container; _logger = logger; diff --git a/src/Umbraco.Core/IO/IIOHelper.cs b/src/Umbraco.Core/IO/IIOHelper.cs index 42ca804f44..5a0f5cab45 100644 --- a/src/Umbraco.Core/IO/IIOHelper.cs +++ b/src/Umbraco.Core/IO/IIOHelper.cs @@ -1,4 +1,7 @@ +using System; using System.Collections.Generic; +using System.IO; +using Umbraco.Core.Hosting; namespace Umbraco.Core.IO { @@ -53,5 +56,20 @@ namespace Umbraco.Core.IO /// string GetRelativePath(string path); + /// + /// Retrieves array of temporary folders from the hosting environment. + /// + /// Array of instances. + DirectoryInfo[] GetTempFolders(); + + /// + /// Cleans contents of a folder by deleting all files older that the provided age. + /// If deletition of any file errors (e.g. due to a file lock) the process will continue to try to delete all that it can. + /// + /// Folder to clean. + /// Age of files within folder to delete. + /// Result of operation + CleanFolderResult CleanFolder(DirectoryInfo folder, TimeSpan age); + } } diff --git a/src/Umbraco.Core/IO/IOHelper.cs b/src/Umbraco.Core/IO/IOHelper.cs index b3ca956733..08241d28f4 100644 --- a/src/Umbraco.Core/IO/IOHelper.cs +++ b/src/Umbraco.Core/IO/IOHelper.cs @@ -188,5 +188,63 @@ namespace Umbraco.Core.IO return PathUtility.EnsurePathIsApplicationRootPrefixed(path); } + /// + /// Retrieves array of temporary folders from the hosting environment. + /// + /// Array of instances. + public DirectoryInfo[] GetTempFolders() + { + var tempFolderPaths = new[] + { + _hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.TempFileUploads) + }; + + foreach (var tempFolderPath in tempFolderPaths) + { + // Ensure it exists + Directory.CreateDirectory(tempFolderPath); + } + + return tempFolderPaths.Select(x => new DirectoryInfo(x)).ToArray(); + } + + /// + /// Cleans contents of a folder by deleting all files older that the provided age. + /// If deletition of any file errors (e.g. due to a file lock) the process will continue to try to delete all that it can. + /// + /// Folder to clean. + /// Age of files within folder to delete. + /// Result of operation. + public CleanFolderResult CleanFolder(DirectoryInfo folder, TimeSpan age) + { + folder.Refresh(); // In case it's changed during runtime. + + if (!folder.Exists) + { + return CleanFolderResult.FailedAsDoesNotExist(); + } + + var files = folder.GetFiles("*.*", SearchOption.AllDirectories); + var errors = new List(); + foreach (var file in files) + { + if (DateTime.UtcNow - file.LastWriteTimeUtc > age) + { + try + { + file.IsReadOnly = false; + file.Delete(); + } + catch (Exception ex) + { + errors.Add(new CleanFolderResult.Error(ex, file)); + } + } + } + + return errors.Any() + ? CleanFolderResult.FailedWithErrors(errors) + : CleanFolderResult.Success(); + } } } diff --git a/src/Umbraco.Core/Manifest/ManifestFilterCollectionBuilder.cs b/src/Umbraco.Core/Manifest/ManifestFilterCollectionBuilder.cs index 4d98700f93..47593c2548 100644 --- a/src/Umbraco.Core/Manifest/ManifestFilterCollectionBuilder.cs +++ b/src/Umbraco.Core/Manifest/ManifestFilterCollectionBuilder.cs @@ -1,4 +1,5 @@ -using Umbraco.Core.Composing; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; namespace Umbraco.Core.Manifest { @@ -7,6 +8,6 @@ namespace Umbraco.Core.Manifest protected override ManifestFilterCollectionBuilder This => this; // do NOT cache this, it's only used once - protected override Lifetime CollectionLifetime => Lifetime.Transient; + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Transient; } -} \ No newline at end of file +} diff --git a/src/Umbraco.Core/Mapping/MapDefinitionCollectionBuilder.cs b/src/Umbraco.Core/Mapping/MapDefinitionCollectionBuilder.cs index 15d94e58a0..6cccde9525 100644 --- a/src/Umbraco.Core/Mapping/MapDefinitionCollectionBuilder.cs +++ b/src/Umbraco.Core/Mapping/MapDefinitionCollectionBuilder.cs @@ -1,4 +1,5 @@ -using Umbraco.Core.Composing; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; namespace Umbraco.Core.Mapping { @@ -6,6 +7,6 @@ namespace Umbraco.Core.Mapping { protected override MapDefinitionCollectionBuilder This => this; - protected override Lifetime CollectionLifetime => Lifetime.Transient; + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Transient; } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/AssignedContentPermissions.cs b/src/Umbraco.Core/Models/ContentEditing/AssignedContentPermissions.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/AssignedContentPermissions.cs rename to src/Umbraco.Core/Models/ContentEditing/AssignedContentPermissions.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/AssignedUserGroupPermissions.cs b/src/Umbraco.Core/Models/ContentEditing/AssignedUserGroupPermissions.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/AssignedUserGroupPermissions.cs rename to src/Umbraco.Core/Models/ContentEditing/AssignedUserGroupPermissions.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/BackOfficeNotification.cs b/src/Umbraco.Core/Models/ContentEditing/BackOfficeNotification.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/BackOfficeNotification.cs rename to src/Umbraco.Core/Models/ContentEditing/BackOfficeNotification.cs index 0dd132a503..ffdd26d960 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/BackOfficeNotification.cs +++ b/src/Umbraco.Core/Models/ContentEditing/BackOfficeNotification.cs @@ -25,6 +25,5 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "type")] public NotificationStyle NotificationType { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/CodeFileDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/CodeFileDisplay.cs similarity index 95% rename from src/Umbraco.Infrastructure/Models/ContentEditing/CodeFileDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/CodeFileDisplay.cs index 7e186932ac..8004e8e731 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/CodeFileDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/CodeFileDisplay.cs @@ -1,11 +1,7 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; -using System.Linq; using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; using Umbraco.Core; namespace Umbraco.Web.Models.ContentEditing diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentBaseSave.cs b/src/Umbraco.Core/Models/ContentEditing/ContentBaseSave.cs similarity index 91% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentBaseSave.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentBaseSave.cs index 47eb1852e7..a949aa2bd3 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentBaseSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentBaseSave.cs @@ -24,6 +24,13 @@ namespace Umbraco.Web.Models.ContentEditing [Required] public ContentSaveAction Action { get; set; } + [DataMember(Name = "properties")] + public override IEnumerable Properties + { + get => base.Properties; + set => base.Properties = value; + } + [IgnoreDataMember] public List UploadedFiles { get; } @@ -52,6 +59,5 @@ namespace Umbraco.Web.Models.ContentEditing public ContentPropertyCollectionDto PropertyCollectionDto { get; set; } #endregion - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemBasic.cs b/src/Umbraco.Core/Models/ContentEditing/ContentItemBasic.cs similarity index 95% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentItemBasic.cs index d4156d6db5..6689e133fc 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemBasic.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentItemBasic.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; namespace Umbraco.Web.Models.ContentEditing { @@ -54,7 +52,6 @@ namespace Umbraco.Web.Models.ContentEditing /// This is nullable since it's only relevant for content (non-content like media + members will be null) /// [DataMember(Name = "state")] - [JsonConverter(typeof(StringEnumConverter))] public ContentSavedState? State { get; set; } [DataMember(Name = "variesByCulture")] @@ -94,12 +91,10 @@ namespace Umbraco.Web.Models.ContentEditing private IEnumerable _properties; - [DataMember(Name = "properties")] public virtual IEnumerable Properties { get => _properties; set => _properties = value; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs similarity index 97% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs index 89a71a0e2f..5840a4df19 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs @@ -1,5 +1,4 @@ -using Newtonsoft.Json; -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; @@ -7,7 +6,6 @@ using System.Runtime.Serialization; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.ContentEditing; -using Umbraco.Core.Serialization; using Umbraco.Web.Routing; namespace Umbraco.Web.Models.ContentEditing @@ -33,7 +31,6 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "udi")] [ReadOnly(true)] - [JsonConverter(typeof(UdiJsonConverter))] public Udi Udi { get; set; } [DataMember(Name = "icon")] @@ -151,7 +148,7 @@ namespace Umbraco.Web.Models.ContentEditing /// /// By default this is true but by using events developers can toggle this off for certain documents if there is nothing to preview /// - [DataMember( Name = "allowPreview" )] + [DataMember(Name = "allowPreview")] public bool AllowPreview { get; set; } /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplayBase.cs b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplayBase.cs similarity index 98% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplayBase.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentItemDisplayBase.cs index e0beae7fce..98f898aeea 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentItemDisplayBase.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplayBase.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Runtime.Serialization; -using Umbraco.Core.Models; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeBasic.cs b/src/Umbraco.Core/Models/ContentEditing/ContentTypeBasic.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentTypeBasic.cs index 33749a451c..f9d633ebea 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeBasic.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentTypeBasic.cs @@ -5,7 +5,6 @@ using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; using Umbraco.Core; - namespace Umbraco.Web.Models.ContentEditing { /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeCompositionDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentTypeCompositionDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeCompositionDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentTypeCompositionDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/ContentTypeSave.cs similarity index 94% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentTypeSave.cs index a10fe3ded5..005e3c96a6 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentTypeSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentTypeSave.cs @@ -37,7 +37,7 @@ namespace Umbraco.Web.Models.ContentEditing public virtual IEnumerable Validate(ValidationContext validationContext) { if (CompositeContentTypes.Any(x => x.IsNullOrWhiteSpace())) - yield return new ValidationResult("Composite Content Type value cannot be null", new[] {"CompositeContentTypes"}); + yield return new ValidationResult("Composite Content Type value cannot be null", new[] { "CompositeContentTypes" }); } } @@ -89,7 +89,7 @@ namespace Umbraco.Web.Models.ContentEditing var lastIndex = Groups.IndexOf(duplicateGroups.Last().Last()); yield return new ValidationResult("Duplicate group names not allowed", new[] { - string.Format("Groups[{0}].Name", lastIndex) + $"Groups[{lastIndex}].Name" }); } @@ -102,10 +102,9 @@ namespace Umbraco.Web.Models.ContentEditing yield return new ValidationResult("Duplicate property aliases not allowed: " + lastProperty.Alias, new[] { - string.Format("Groups[{0}].Properties[{1}].Alias", propertyGroup.SortOrder, lastProperty.SortOrder) + $"Groups[{propertyGroup.SortOrder}].Properties[{lastProperty.SortOrder}].Alias" }); } - } } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentVariationDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs similarity index 88% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ContentVariationDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs index cb1834980e..64491e2270 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ContentVariationDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs @@ -1,11 +1,8 @@ -using Newtonsoft.Json; -using System; +using System; using System.Collections.Generic; using System.ComponentModel; -using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; -using Newtonsoft.Json.Converters; namespace Umbraco.Web.Models.ContentEditing { @@ -37,8 +34,7 @@ namespace Umbraco.Web.Models.ContentEditing /// Internal property used for tests to get all properties from all tabs /// [IgnoreDataMember] - [JsonIgnore] - IEnumerable IContentProperties.Properties => Tabs.SelectMany(x => x.Properties); + IEnumerable IContentProperties.Properties => Tabs.SelectMany(x => x.Properties); /// /// The language/culture assigned to this content variation @@ -53,7 +49,6 @@ namespace Umbraco.Web.Models.ContentEditing public string Segment { get; set; } [DataMember(Name = "state")] - [JsonConverter(typeof(StringEnumConverter))] public ContentSavedState State { get; set; } [DataMember(Name = "updateDate")] @@ -80,6 +75,5 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "notifications")] [ReadOnly(true)] public List Notifications { get; private set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeBasic.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeBasic.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeBasic.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs index 022746c7ec..26d650b02b 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldDisplay.cs @@ -38,6 +38,5 @@ namespace Umbraco.Web.Models.ContentEditing /// [DataMember(Name = "config")] public IDictionary Config { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldSave.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldSave.cs similarity index 96% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldSave.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldSave.cs index 85984df281..d480f4c4b7 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeConfigurationFieldSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DataTypeConfigurationFieldSave.cs @@ -1,5 +1,4 @@ using System.Runtime.Serialization; -using Newtonsoft.Json.Linq; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeDisplay.cs similarity index 96% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeDisplay.cs index 9bead4bf5d..65ece0f6aa 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DataTypeDisplay.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; @@ -34,6 +33,5 @@ namespace Umbraco.Web.Models.ContentEditing /// [DataMember(Name = "notifications")] public List Notifications { get; private set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeReferences.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeReferences.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeReferences.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeReferences.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/DataTypeSave.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/DataTypeSave.cs index db4acd4c4e..aa916c7566 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DataTypeSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DataTypeSave.cs @@ -46,6 +46,5 @@ namespace Umbraco.Web.Models.ContentEditing /// [IgnoreDataMember] public IDataEditor PropertyEditor { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DictionaryDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/DictionaryDisplay.cs similarity index 90% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DictionaryDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/DictionaryDisplay.cs index 9e0dee36f6..8b8f53c21a 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DictionaryDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DictionaryDisplay.cs @@ -15,8 +15,8 @@ namespace Umbraco.Web.Models.ContentEditing /// public DictionaryDisplay() { - this.Notifications = new List(); - this.Translations = new List(); + Notifications = new List(); + Translations = new List(); } /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DictionarySave.cs b/src/Umbraco.Core/Models/ContentEditing/DictionarySave.cs similarity index 91% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DictionarySave.cs rename to src/Umbraco.Core/Models/ContentEditing/DictionarySave.cs index e54d1fab45..e99abd1f80 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DictionarySave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DictionarySave.cs @@ -14,8 +14,8 @@ namespace Umbraco.Web.Models.ContentEditing /// Initializes a new instance of the class. /// public DictionarySave() - { - this.Translations = new List(); + { + Translations = new List(); } /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DocumentTypeDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/DocumentTypeDisplay.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DocumentTypeDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/DocumentTypeDisplay.cs index 8aaa5c8af1..dd5818626a 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/DocumentTypeDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/DocumentTypeDisplay.cs @@ -30,6 +30,5 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "apps")] public IEnumerable ContentApps { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DocumentTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/DocumentTypeSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DocumentTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/DocumentTypeSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/DomainSave.cs b/src/Umbraco.Core/Models/ContentEditing/DomainSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/DomainSave.cs rename to src/Umbraco.Core/Models/ContentEditing/DomainSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/EditorNavigation.cs b/src/Umbraco.Core/Models/ContentEditing/EditorNavigation.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/EditorNavigation.cs rename to src/Umbraco.Core/Models/ContentEditing/EditorNavigation.cs index 29922750cf..007c3267cd 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/EditorNavigation.cs +++ b/src/Umbraco.Core/Models/ContentEditing/EditorNavigation.cs @@ -23,4 +23,4 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "active")] public bool Active { get; set; } } -} \ No newline at end of file +} diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/EntityBasic.cs b/src/Umbraco.Core/Models/ContentEditing/EntityBasic.cs similarity index 93% rename from src/Umbraco.Infrastructure/Models/ContentEditing/EntityBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/EntityBasic.cs index 4776983687..946fd2102a 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/EntityBasic.cs +++ b/src/Umbraco.Core/Models/ContentEditing/EntityBasic.cs @@ -3,10 +3,8 @@ using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; -using Newtonsoft.Json; using Umbraco.Core; using Umbraco.Core.Models.Validation; -using Umbraco.Core.Serialization; namespace Umbraco.Web.Models.ContentEditing { @@ -28,7 +26,6 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "udi")] [ReadOnly(true)] - [JsonConverter(typeof(UdiJsonConverter))] public Udi Udi { get; set; } [DataMember(Name = "icon")] @@ -61,7 +58,7 @@ namespace Umbraco.Web.Models.ContentEditing /// The path of the entity /// [DataMember(Name = "path")] - public string Path { get; set; } + public string Path { get; set; } /// /// A collection of extra data that is available for this specific entity/entity type /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/GetAvailableCompositionsFilter.cs b/src/Umbraco.Core/Models/ContentEditing/GetAvailableCompositionsFilter.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/GetAvailableCompositionsFilter.cs rename to src/Umbraco.Core/Models/ContentEditing/GetAvailableCompositionsFilter.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/IErrorModel.cs b/src/Umbraco.Core/Models/ContentEditing/IErrorModel.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/IErrorModel.cs rename to src/Umbraco.Core/Models/ContentEditing/IErrorModel.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/INotificationModel.cs b/src/Umbraco.Core/Models/ContentEditing/INotificationModel.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/INotificationModel.cs rename to src/Umbraco.Core/Models/ContentEditing/INotificationModel.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs b/src/Umbraco.Core/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs similarity index 97% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs rename to src/Umbraco.Core/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs index 6ec1a0c96a..250ec3f633 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ListViewAwareContentItemDisplayBase.cs @@ -1,5 +1,4 @@ using System.Runtime.Serialization; -using Umbraco.Core.Models; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MacroDisplay.cs similarity index 93% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MacroDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MacroDisplay.cs index 33d2a959b6..55f0d5b89d 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MacroDisplay.cs @@ -14,8 +14,8 @@ namespace Umbraco.Web.Models.ContentEditing /// public MacroDisplay() { - this.Notifications = new List(); - this.Parameters = new List(); + Notifications = new List(); + Parameters = new List(); } /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameter.cs b/src/Umbraco.Core/Models/ContentEditing/MacroParameter.cs similarity index 91% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameter.cs rename to src/Umbraco.Core/Models/ContentEditing/MacroParameter.cs index 24dd55338a..ed3551449c 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameter.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MacroParameter.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.ComponentModel.DataAnnotations; -using System.Linq; using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; namespace Umbraco.Web.Models.ContentEditing { @@ -43,6 +39,5 @@ namespace Umbraco.Web.Models.ContentEditing /// [DataMember(Name = "value")] public object Value { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameterDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MacroParameterDisplay.cs similarity index 90% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameterDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MacroParameterDisplay.cs index 2a07dd84ef..866e631dc4 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MacroParameterDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MacroParameterDisplay.cs @@ -1,7 +1,7 @@ -namespace Umbraco.Web.Models.ContentEditing -{ - using System.Runtime.Serialization; +using System.Runtime.Serialization; +namespace Umbraco.Web.Models.ContentEditing +{ /// /// The macro parameter display. /// diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MediaItemDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MediaItemDisplay.cs similarity index 91% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MediaItemDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MediaItemDisplay.cs index a5d538c6ac..a1d2a3696f 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MediaItemDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MediaItemDisplay.cs @@ -1,7 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core.Models; using Umbraco.Core.Models.ContentEditing; namespace Umbraco.Web.Models.ContentEditing diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MediaItemSave.cs b/src/Umbraco.Core/Models/ContentEditing/MediaItemSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MediaItemSave.cs rename to src/Umbraco.Core/Models/ContentEditing/MediaItemSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MediaTypeDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MediaTypeDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MediaTypeDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MediaTypeDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MediaTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/MediaTypeSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MediaTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/MediaTypeSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberBasic.cs b/src/Umbraco.Core/Models/ContentEditing/MemberBasic.cs similarity index 56% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberBasic.cs index 00d2df0020..2352fd46ca 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberBasic.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberBasic.cs @@ -1,5 +1,5 @@ -using System.Runtime.Serialization; -using Umbraco.Core.Models; +using System.Collections.Generic; +using System.Runtime.Serialization; namespace Umbraco.Web.Models.ContentEditing { @@ -13,5 +13,12 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "email")] public string Email { get; set; } + + [DataMember(Name = "properties")] + public override IEnumerable Properties + { + get => base.Properties; + set => base.Properties = value; + } } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MemberDisplay.cs similarity index 96% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberDisplay.cs index 8c97925403..0a5caeccc7 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberDisplay.cs @@ -1,8 +1,6 @@ using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core.Models; using Umbraco.Core.Models.ContentEditing; -using Umbraco.Core.Models.Membership; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberGroupDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MemberGroupDisplay.cs similarity index 88% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberGroupDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberGroupDisplay.cs index 7706514711..55239700a4 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberGroupDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberGroupDisplay.cs @@ -1,9 +1,8 @@ -using System.Runtime.Serialization; +using System.Collections.Generic; +using System.Runtime.Serialization; namespace Umbraco.Web.Models.ContentEditing { - using System.Collections.Generic; - [DataContract(Name = "memberGroup", Namespace = "")] public class MemberGroupDisplay : EntityBasic, INotificationModel { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberGroupSave.cs b/src/Umbraco.Core/Models/ContentEditing/MemberGroupSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberGroupSave.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberGroupSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberListDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MemberListDisplay.cs similarity index 95% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberListDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberListDisplay.cs index 592bd14df5..4783e2b992 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberListDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberListDisplay.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Core.Models; using Umbraco.Core.Models.ContentEditing; namespace Umbraco.Web.Models.ContentEditing diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberSave.cs b/src/Umbraco.Core/Models/ContentEditing/MemberSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberSave.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberSave.cs index b9ec6fad67..8bba20f7bd 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberSave.cs @@ -2,9 +2,9 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; +using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.Validation; -using Umbraco.Core; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/MemberTypeDisplay.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberTypeDisplay.cs index 26d06c5d1c..fdecbce57f 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberTypeDisplay.cs @@ -5,6 +5,5 @@ namespace Umbraco.Web.Models.ContentEditing [DataContract(Name = "contentType", Namespace = "")] public class MemberTypeDisplay : ContentTypeCompositionDisplay { - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/MemberTypeSave.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/MemberTypeSave.cs index be3d294714..b7def40e11 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MemberTypeSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MemberTypeSave.cs @@ -5,6 +5,5 @@ /// public class MemberTypeSave : ContentTypeSave { - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/MessagesExtensions.cs b/src/Umbraco.Core/Models/ContentEditing/MessagesExtensions.cs similarity index 66% rename from src/Umbraco.Infrastructure/Models/ContentEditing/MessagesExtensions.cs rename to src/Umbraco.Core/Models/ContentEditing/MessagesExtensions.cs index c27fa39d44..0f9a1dc500 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/MessagesExtensions.cs +++ b/src/Umbraco.Core/Models/ContentEditing/MessagesExtensions.cs @@ -1,5 +1,4 @@ - -using System.Linq; +using System.Linq; using Umbraco.Core; namespace Umbraco.Web.Models.ContentEditing @@ -11,11 +10,11 @@ namespace Umbraco.Web.Models.ContentEditing if (model.Exists(header, msg, type)) return; model.Notifications.Add(new BackOfficeNotification() - { - Header = header, - Message = msg, - NotificationType = type - }); + { + Header = header, + Message = msg, + NotificationType = type + }); } public static void AddSuccessNotification(this INotificationModel model, string header, string msg) @@ -23,11 +22,11 @@ namespace Umbraco.Web.Models.ContentEditing if (model.Exists(header, msg, NotificationStyle.Success)) return; model.Notifications.Add(new BackOfficeNotification() - { - Header = header, - Message = msg, - NotificationType = NotificationStyle.Success - }); + { + Header = header, + Message = msg, + NotificationType = NotificationStyle.Success + }); } public static void AddErrorNotification(this INotificationModel model, string header, string msg) @@ -35,11 +34,11 @@ namespace Umbraco.Web.Models.ContentEditing if (model.Exists(header, msg, NotificationStyle.Error)) return; model.Notifications.Add(new BackOfficeNotification() - { - Header = header, - Message = msg, - NotificationType = NotificationStyle.Error - }); + { + Header = header, + Message = msg, + NotificationType = NotificationStyle.Error + }); } public static void AddWarningNotification(this INotificationModel model, string header, string msg) @@ -47,11 +46,11 @@ namespace Umbraco.Web.Models.ContentEditing if (model.Exists(header, msg, NotificationStyle.Warning)) return; model.Notifications.Add(new BackOfficeNotification() - { - Header = header, - Message = msg, - NotificationType = NotificationStyle.Warning - }); + { + Header = header, + Message = msg, + NotificationType = NotificationStyle.Warning + }); } public static void AddInfoNotification(this INotificationModel model, string header, string msg) @@ -59,11 +58,11 @@ namespace Umbraco.Web.Models.ContentEditing if (model.Exists(header, msg, NotificationStyle.Info)) return; model.Notifications.Add(new BackOfficeNotification() - { - Header = header, - Message = msg, - NotificationType = NotificationStyle.Info - }); + { + Header = header, + Message = msg, + NotificationType = NotificationStyle.Info + }); } private static bool Exists(this INotificationModel model, string header, string message, NotificationStyle notificationType) => model.Notifications.Any(x => x.Header.InvariantEquals(header) && x.Message.InvariantEquals(message) && x.NotificationType == notificationType); diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/ModelWithNotifications.cs b/src/Umbraco.Core/Models/ContentEditing/ModelWithNotifications.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/ModelWithNotifications.cs rename to src/Umbraco.Core/Models/ContentEditing/ModelWithNotifications.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/PostedFiles.cs b/src/Umbraco.Core/Models/ContentEditing/PostedFiles.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/PostedFiles.cs rename to src/Umbraco.Core/Models/ContentEditing/PostedFiles.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/PropertyGroupDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/PropertyGroupDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/PropertyGroupDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/PropertyGroupDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/PublicAccess.cs b/src/Umbraco.Core/Models/ContentEditing/PublicAccess.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/PublicAccess.cs rename to src/Umbraco.Core/Models/ContentEditing/PublicAccess.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/RelationTypeDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/RelationTypeDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/RelationTypeDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/RelationTypeDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/RelationTypeSave.cs b/src/Umbraco.Core/Models/ContentEditing/RelationTypeSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/RelationTypeSave.cs rename to src/Umbraco.Core/Models/ContentEditing/RelationTypeSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorCommand.cs b/src/Umbraco.Core/Models/ContentEditing/RichTextEditorCommand.cs similarity index 66% rename from src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorCommand.cs rename to src/Umbraco.Core/Models/ContentEditing/RichTextEditorCommand.cs index f304b0ef68..9eb7b57bba 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorCommand.cs +++ b/src/Umbraco.Core/Models/ContentEditing/RichTextEditorCommand.cs @@ -1,11 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; namespace Umbraco.Web.Models.ContentEditing { @@ -18,7 +11,6 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "alias")] public string Alias { get; set; } - [JsonConverter(typeof(StringEnumConverter))] [DataMember(Name = "mode")] public RichTextEditorCommandMode Mode { get; set; } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorConfiguration.cs b/src/Umbraco.Core/Models/ContentEditing/RichTextEditorConfiguration.cs similarity index 86% rename from src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorConfiguration.cs rename to src/Umbraco.Core/Models/ContentEditing/RichTextEditorConfiguration.cs index 380780b6d8..65ed5a2f7a 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/RichTextEditorConfiguration.cs +++ b/src/Umbraco.Core/Models/ContentEditing/RichTextEditorConfiguration.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using System.Collections.Generic; using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/SearchResultEntity.cs b/src/Umbraco.Core/Models/ContentEditing/SearchResultEntity.cs similarity index 99% rename from src/Umbraco.Infrastructure/Models/ContentEditing/SearchResultEntity.cs rename to src/Umbraco.Core/Models/ContentEditing/SearchResultEntity.cs index a1cca9763d..45360d9464 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/SearchResultEntity.cs +++ b/src/Umbraco.Core/Models/ContentEditing/SearchResultEntity.cs @@ -10,6 +10,5 @@ namespace Umbraco.Web.Models.ContentEditing /// [DataMember(Name = "score")] public float Score { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/SearchResults.cs b/src/Umbraco.Core/Models/ContentEditing/SearchResults.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/SearchResults.cs rename to src/Umbraco.Core/Models/ContentEditing/SearchResults.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/SimpleNotificationModel.cs b/src/Umbraco.Core/Models/ContentEditing/SimpleNotificationModel.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/SimpleNotificationModel.cs rename to src/Umbraco.Core/Models/ContentEditing/SimpleNotificationModel.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/TabbedContentItem.cs b/src/Umbraco.Core/Models/ContentEditing/TabbedContentItem.cs similarity index 61% rename from src/Umbraco.Infrastructure/Models/ContentEditing/TabbedContentItem.cs rename to src/Umbraco.Core/Models/ContentEditing/TabbedContentItem.cs index 4c958656ef..60b282ecac 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/TabbedContentItem.cs +++ b/src/Umbraco.Core/Models/ContentEditing/TabbedContentItem.cs @@ -2,8 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; -using Newtonsoft.Json; -using Umbraco.Core.Models; namespace Umbraco.Web.Models.ContentEditing { @@ -20,16 +18,6 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "tabs")] public IEnumerable> Tabs { get; set; } - // note - // once a [DataContract] has been defined on a class, with a [DataMember] property, - // one simply cannot ignore that property anymore - [IgnoreDataMember] on an overridden - // property is ignored, and 'newing' the property means that it's the base property - // which is used - // - // OTOH, Json.NET is happy having [JsonIgnore] on overrides, even though the base - // property is [JsonProperty]. so, forcing [JsonIgnore] here, but really, we should - // rethink the whole thing. - /// /// Override the properties property to ensure we don't serialize this /// and to simply return the properties based on the properties in the tabs collection @@ -38,7 +26,6 @@ namespace Umbraco.Web.Models.ContentEditing /// This property cannot be set /// [IgnoreDataMember] - [JsonIgnore] // see note above on IgnoreDataMember vs JsonIgnore public override IEnumerable Properties { get => Tabs.SelectMany(x => x.Properties); diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/TemplateDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/TemplateDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/TemplateDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/TemplateDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/TreeSearchResult.cs b/src/Umbraco.Core/Models/ContentEditing/TreeSearchResult.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/TreeSearchResult.cs rename to src/Umbraco.Core/Models/ContentEditing/TreeSearchResult.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserBasic.cs b/src/Umbraco.Core/Models/ContentEditing/UserBasic.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/UserBasic.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserDetail.cs b/src/Umbraco.Core/Models/ContentEditing/UserDetail.cs similarity index 97% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserDetail.cs rename to src/Umbraco.Core/Models/ContentEditing/UserDetail.cs index 58cb6d2513..3bcff43fa2 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserDetail.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserDetail.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; @@ -25,7 +24,7 @@ namespace Umbraco.Web.Models.ContentEditing /// [DataMember(Name = "emailHash")] public string EmailHash { get; set; } - + [ReadOnly(true)] [DataMember(Name = "userGroups")] public string[] UserGroups { get; set; } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/UserDisplay.cs similarity index 98% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/UserDisplay.cs index 35317d8dd5..312095e1d1 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserDisplay.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Globalization; using System.Runtime.Serialization; namespace Umbraco.Web.Models.ContentEditing @@ -78,6 +77,5 @@ namespace Umbraco.Web.Models.ContentEditing [DataMember(Name = "updateDate")] [ReadOnly(true)] public DateTime UpdateDate { get; set; } - } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupBasic.cs b/src/Umbraco.Core/Models/ContentEditing/UserGroupBasic.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupBasic.cs rename to src/Umbraco.Core/Models/ContentEditing/UserGroupBasic.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/UserGroupDisplay.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupDisplay.cs rename to src/Umbraco.Core/Models/ContentEditing/UserGroupDisplay.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupPermissionsSave.cs b/src/Umbraco.Core/Models/ContentEditing/UserGroupPermissionsSave.cs similarity index 100% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupPermissionsSave.cs rename to src/Umbraco.Core/Models/ContentEditing/UserGroupPermissionsSave.cs diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupSave.cs b/src/Umbraco.Core/Models/ContentEditing/UserGroupSave.cs similarity index 98% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupSave.cs rename to src/Umbraco.Core/Models/ContentEditing/UserGroupSave.cs index 4b76ec1bec..1b2bb710a2 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserGroupSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserGroupSave.cs @@ -2,9 +2,7 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; -using Newtonsoft.Json; using Umbraco.Core; -using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; namespace Umbraco.Web.Models.ContentEditing @@ -74,7 +72,6 @@ namespace Umbraco.Web.Models.ContentEditing yield return new ValidationResult("A permission value cannot be null or empty", new[] { "AssignedPermissions" }); } } - } } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserInvite.cs b/src/Umbraco.Core/Models/ContentEditing/UserInvite.cs similarity index 79% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserInvite.cs rename to src/Umbraco.Core/Models/ContentEditing/UserInvite.cs index 68a7a9bd3f..bf2a84fbbe 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserInvite.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserInvite.cs @@ -2,8 +2,10 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; -using Umbraco.Composing; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Umbraco.Core; +using Umbraco.Core.Configuration.Models; namespace Umbraco.Web.Models.ContentEditing { @@ -33,8 +35,9 @@ namespace Umbraco.Web.Models.ContentEditing if (UserGroups.Any() == false) yield return new ValidationResult("A user must be assigned to at least one group", new[] { nameof(UserGroups) }); - // TODO: this will need another way of retrieving this setting if and when Configs are removed from Current. - if (Current.SecuritySettings.UsernameIsEmail == false && Username.IsNullOrWhiteSpace()) + var securitySettings = validationContext.GetRequiredService>(); + + if (securitySettings.Value.UsernameIsEmail == false && Username.IsNullOrWhiteSpace()) yield return new ValidationResult("A username cannot be empty", new[] { nameof(Username) }); } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserProfile.cs b/src/Umbraco.Core/Models/ContentEditing/UserProfile.cs similarity index 94% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserProfile.cs rename to src/Umbraco.Core/Models/ContentEditing/UserProfile.cs index 12b6e2a627..18981ece64 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserProfile.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserProfile.cs @@ -1,7 +1,6 @@ using System; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; -using Umbraco.Core.Models.Membership; namespace Umbraco.Web.Models.ContentEditing { @@ -23,6 +22,6 @@ namespace Umbraco.Web.Models.ContentEditing int IComparable.CompareTo(object obj) { return String.Compare(Name, ((UserProfile)obj).Name, StringComparison.Ordinal); - } + } } } diff --git a/src/Umbraco.Infrastructure/Models/ContentEditing/UserSave.cs b/src/Umbraco.Core/Models/ContentEditing/UserSave.cs similarity index 98% rename from src/Umbraco.Infrastructure/Models/ContentEditing/UserSave.cs rename to src/Umbraco.Core/Models/ContentEditing/UserSave.cs index 6f9fea68d5..2533ebb105 100644 --- a/src/Umbraco.Infrastructure/Models/ContentEditing/UserSave.cs +++ b/src/Umbraco.Core/Models/ContentEditing/UserSave.cs @@ -2,7 +2,6 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; -using Newtonsoft.Json; namespace Umbraco.Web.Models.ContentEditing { diff --git a/src/Umbraco.Core/Models/Member.cs b/src/Umbraco.Core/Models/Member.cs index d155db8b7c..8a765b2f25 100644 --- a/src/Umbraco.Core/Models/Member.cs +++ b/src/Umbraco.Core/Models/Member.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Runtime.Serialization; using Microsoft.Extensions.Logging; -using Umbraco.Composing; namespace Umbraco.Core.Models @@ -473,7 +472,7 @@ namespace Umbraco.Core.Models { void DoLog(string logPropertyAlias, string logPropertyName) { - Current.Logger.LogWarning("Trying to access the '{PropertyName}' property on '{MemberType}' " + + StaticApplicationLogging.Logger.LogWarning("Trying to access the '{PropertyName}' property on '{MemberType}' " + "but the {PropertyAlias} property does not exist on the member type so a default value is returned. " + "Ensure that you have a property type with alias: {PropertyAlias} configured on your member type in order to use the '{PropertyName}' property on the model correctly.", logPropertyName, @@ -498,7 +497,7 @@ namespace Umbraco.Core.Models { void DoLog(string logPropertyAlias, string logPropertyName) { - Current.Logger.LogWarning("An attempt was made to set a value on the property '{PropertyName}' on type '{MemberType}' but the " + + StaticApplicationLogging.Logger.LogWarning("An attempt was made to set a value on the property '{PropertyName}' on type '{MemberType}' but the " + "property type {PropertyAlias} does not exist on the member type, ensure that this property type exists so that setting this property works correctly.", logPropertyName, typeof(Member), diff --git a/src/Umbraco.Core/PublishedContentExtensions.cs b/src/Umbraco.Core/PublishedContentExtensions.cs index 62f48917c3..1b7c460c8b 100644 --- a/src/Umbraco.Core/PublishedContentExtensions.cs +++ b/src/Umbraco.Core/PublishedContentExtensions.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Umbraco.Composing; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Models.PublishedContent; diff --git a/src/Umbraco.Core/RegisterExtensions.cs b/src/Umbraco.Core/RegisterExtensions.cs deleted file mode 100644 index 67f256a26f..0000000000 --- a/src/Umbraco.Core/RegisterExtensions.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Umbraco.Core.Composing; - -namespace Umbraco.Core -{ - /// - /// Provides extension methods to the class. - /// - public static class RegisterExtensions - { - /// - /// Registers a service with an implementation type. - /// - public static void Register(this IRegister register, Lifetime lifetime = Lifetime.Transient) - => register.Register(typeof(TService), typeof(TImplementing), lifetime); - - /// - /// Registers a service as its own implementation. - /// - public static void Register(this IRegister register, Lifetime lifetime = Lifetime.Transient) - where TService : class - => register.Register(typeof(TService), lifetime); - - /// - /// Registers a service with an implementing instance. - /// - public static void Register(this IRegister register, TService instance) - where TService : class - => register.Register(typeof(TService), instance); - } -} diff --git a/src/Umbraco.Core/Scheduling/TempFileCleanup.cs b/src/Umbraco.Core/Scheduling/TempFileCleanup.cs deleted file mode 100644 index 1a8ece78d1..0000000000 --- a/src/Umbraco.Core/Scheduling/TempFileCleanup.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using Umbraco.Core; -using Umbraco.Core.Logging; -using Microsoft.Extensions.Logging; - -namespace Umbraco.Web.Scheduling -{ - /// - /// Used to cleanup temporary file locations - /// - public class TempFileCleanup : RecurringTaskBase - { - private readonly DirectoryInfo[] _tempFolders; - private readonly TimeSpan _age; - private readonly IMainDom _mainDom; - private readonly IProfilingLogger _profilingLogger; - private readonly ILogger _logger; - - public TempFileCleanup(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IEnumerable tempFolders, TimeSpan age, - IMainDom mainDom, IProfilingLogger profilingLogger, ILogger logger) - : base(runner, delayMilliseconds, periodMilliseconds) - { - //SystemDirectories.TempFileUploads - - _tempFolders = tempFolders.ToArray(); - _age = age; - _mainDom = mainDom; - _profilingLogger = profilingLogger; - _logger = logger; - } - - public override bool PerformRun() - { - // ensure we do not run if not main domain - if (_mainDom.IsMainDom == false) - { - _logger.LogDebug("Does not run if not MainDom."); - return false; // do NOT repeat, going down - } - - foreach (var dir in _tempFolders) - CleanupFolder(dir); - - return true; //repeat - } - - private void CleanupFolder(DirectoryInfo dir) - { - dir.Refresh(); //in case it's changed during runtime - if (!dir.Exists) - { - _logger.LogDebug("The cleanup folder doesn't exist {Folder}", dir.FullName); - return; - } - - var files = dir.GetFiles("*.*", SearchOption.AllDirectories); - foreach (var file in files) - { - if (DateTime.UtcNow - file.LastWriteTimeUtc > _age) - { - try - { - file.IsReadOnly = false; - file.Delete(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Could not delete temp file {FileName}", file.FullName); - } - } - } - } - - public override bool IsAsync => false; - } -} diff --git a/src/Umbraco.Core/Sections/SectionCollectionBuilder.cs b/src/Umbraco.Core/Sections/SectionCollectionBuilder.cs index de883db83a..9bda065881 100644 --- a/src/Umbraco.Core/Sections/SectionCollectionBuilder.cs +++ b/src/Umbraco.Core/Sections/SectionCollectionBuilder.cs @@ -1,6 +1,7 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; -using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Composing; using Umbraco.Core.Manifest; using Umbraco.Core.Models.Sections; @@ -11,12 +12,12 @@ namespace Umbraco.Web.Sections { protected override SectionCollectionBuilder This => this; - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { // get the manifest parser just-in-time - injecting it in the ctor would mean that // simply getting the builder in order to configure the collection, would require // its dependencies too, and that can create cycles or other oddities - var manifestParser = factory.GetInstance(); + var manifestParser = factory.GetRequiredService(); return base.CreateItems(factory).Concat(manifestParser.Manifest.Sections); } diff --git a/src/Umbraco.Core/ServiceCollectionExtensions.cs b/src/Umbraco.Core/ServiceCollectionExtensions.cs new file mode 100644 index 0000000000..d1c89ea17e --- /dev/null +++ b/src/Umbraco.Core/ServiceCollectionExtensions.cs @@ -0,0 +1,59 @@ +using System; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Umbraco.Core.Composing; + +namespace Umbraco.Core +{ + public static class ServiceCollectionExtensions + { + public static void AddUnique(this IServiceCollection services) + where TService : class + where TImplementing : class, TService + => services.Replace(ServiceDescriptor.Singleton()); + + /// + /// Registers a singleton instance against multiple interfaces. + /// + public static void AddMultipleUnique(this IServiceCollection services) + where TService1 : class + where TService2 : class + where TImplementing : class, TService1, TService2 + { + services.AddUnique(); + services.AddUnique(factory => (TImplementing) factory.GetRequiredService()); + } + + public static void AddUnique(this IServiceCollection services) + where TImplementing : class + => services.Replace(ServiceDescriptor.Singleton()); + + /// + /// Registers a unique service with an implementation factory. + /// + /// Unique services have one single implementation, and a Singleton lifetime. + public static void AddUnique(this IServiceCollection services, Func factory) + where TService : class + => services.Replace(ServiceDescriptor.Singleton(factory)); + + /// + /// Registers a unique service with an implementing instance. + /// + /// Unique services have one single implementation, and a Singleton lifetime. + public static void AddUnique(this IServiceCollection services, Type serviceType, object instance) + => services.Replace(ServiceDescriptor.Singleton(serviceType, instance)); + + /// + /// Registers a unique service with an implementing instance. + /// + public static void AddUnique(this IServiceCollection services, TService instance) + where TService : class + => services.Replace(ServiceDescriptor.Singleton(instance)); + + public static IServiceCollection AddLazySupport(this IServiceCollection services) + { + services.Replace(ServiceDescriptor.Transient(typeof(Lazy<>), typeof(LazyResolve<>))); + return services; + } + } +} diff --git a/src/Umbraco.Core/ServiceProviderExtensions.cs b/src/Umbraco.Core/ServiceProviderExtensions.cs new file mode 100644 index 0000000000..e0d3da2c03 --- /dev/null +++ b/src/Umbraco.Core/ServiceProviderExtensions.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; + +namespace Umbraco.Core +{ + /// + /// Provides extension methods to the class. + /// + public static class ServiceProviderExtensions + { + + /// + /// Creates an instance with arguments. + /// + /// The type of the instance. + /// The factory. + /// Arguments. + /// An instance of the specified type. + /// + /// Throws an exception if the factory failed to get an instance of the specified type. + /// The arguments are used as dependencies by the factory. + /// + public static T CreateInstance(this IServiceProvider serviceProvider, params object[] args) + where T : class + => (T)serviceProvider.CreateInstance(typeof(T), args); + + /// + /// Creates an instance of a service, with arguments. + /// + /// + /// The type of the instance. + /// Named arguments. + /// An instance of the specified type. + /// + /// The instance type does not need to be registered into the factory. + /// The arguments are used as dependencies by the factory. Other dependencies + /// are retrieved from the factory. + /// + public static object CreateInstance(this IServiceProvider serviceProvider, Type type, params object[] args) + { + // LightInject has this, but then it requires RegisterConstructorDependency etc and has various oddities + // including the most annoying one, which is that it does not work on singletons (hard to fix) + //return factory.GetInstance(type, args); + + // this method is essentially used to build singleton instances, so it is assumed that it would be + // more expensive to build and cache a dynamic method ctor than to simply invoke the ctor, as we do + // here - this can be discussed + + // TODO: we currently try the ctor with most parameters, but we could want to fall back to others + + //var ctor = type.GetConstructors(BindingFlags.Instance | BindingFlags.Public).OrderByDescending(x => x.GetParameters().Length).FirstOrDefault(); + //if (ctor == null) throw new InvalidOperationException($"Could not find a public constructor for type {type.FullName}."); + + //var ctorParameters = ctor.GetParameters(); + //var ctorArgs = new object[ctorParameters.Length]; + //var availableArgs = new List(args); + //var i = 0; + //foreach (var parameter in ctorParameters) + //{ + // // no! IsInstanceOfType is not ok here + // // ReSharper disable once UseMethodIsInstanceOfType + // var idx = availableArgs.FindIndex(a => parameter.ParameterType.IsAssignableFrom(a.GetType())); + // if (idx >= 0) + // { + // // Found a suitable supplied argument + // ctorArgs[i++] = availableArgs[idx]; + + // // A supplied argument can be used at most once + // availableArgs.RemoveAt(idx); + // } + // else + // { + // // None of the provided arguments is suitable: get an instance from the factory + // ctorArgs[i++] = serviceProvider.GetRequiredService(parameter.ParameterType); + // } + //} + //return ctor.Invoke(ctorArgs); + + return ActivatorUtilities.CreateInstance(serviceProvider, type, args); + } + } +} diff --git a/src/Umbraco.Core/Services/IRuntime.cs b/src/Umbraco.Core/Services/IRuntime.cs index 4715068073..8a1be721d0 100644 --- a/src/Umbraco.Core/Services/IRuntime.cs +++ b/src/Umbraco.Core/Services/IRuntime.cs @@ -1,5 +1,4 @@ -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; +using System; namespace Umbraco.Core { @@ -8,13 +7,6 @@ namespace Umbraco.Core /// public interface IRuntime { - /// - /// Boots the runtime. - /// - /// The application register. - /// The application factory. - IFactory Configure(IRegister register); - /// /// Gets the runtime state. /// diff --git a/src/Umbraco.Core/StaticApplicationLogging.cs b/src/Umbraco.Core/StaticApplicationLogging.cs new file mode 100644 index 0000000000..a1e06bc1f8 --- /dev/null +++ b/src/Umbraco.Core/StaticApplicationLogging.cs @@ -0,0 +1,22 @@ +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; + +namespace Umbraco.Core +{ + public static class StaticApplicationLogging + { + private static ILoggerFactory _loggerFactory; + + public static void Initialize(ILoggerFactory loggerFactory) + { + _loggerFactory = loggerFactory; + } + + public static ILogger Logger => CreateLogger(); + + public static ILogger CreateLogger() + { + return _loggerFactory?.CreateLogger() ?? new NullLogger(); + } + } +} diff --git a/src/Umbraco.Core/Sync/DatabaseServerMessengerCallbacks.cs b/src/Umbraco.Core/Sync/DatabaseServerMessengerCallbacks.cs new file mode 100644 index 0000000000..7438762295 --- /dev/null +++ b/src/Umbraco.Core/Sync/DatabaseServerMessengerCallbacks.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace Umbraco.Core.Sync +{ + /// + /// Holds a list of callbacks associated with implementations of . + /// + public class DatabaseServerMessengerCallbacks + { + /// + /// A list of callbacks that will be invoked if the lastsynced.txt file does not exist. + /// + /// + /// These callbacks will typically be for e.g. rebuilding the xml cache file, or examine indexes, based on + /// the data in the database to get this particular server node up to date. + /// + public IEnumerable InitializingCallbacks { get; set; } + } +} diff --git a/src/Umbraco.Core/Sync/DatabaseServerMessengerOptions.cs b/src/Umbraco.Core/Sync/DatabaseServerMessengerOptions.cs deleted file mode 100644 index 6bfd6bff4a..0000000000 --- a/src/Umbraco.Core/Sync/DatabaseServerMessengerOptions.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Umbraco.Core.Sync -{ - /// - /// Provides options to the . - /// - public class DatabaseServerMessengerOptions - { - /// - /// Initializes a new instance of the with default values. - /// - public DatabaseServerMessengerOptions() - { - DaysToRetainInstructions = 2; // 2 days - ThrottleSeconds = 5; // 5 second - MaxProcessingInstructionCount = 1000; - PruneThrottleSeconds = 60; // 1 minute - } - - /// - /// The maximum number of instructions that can be processed at startup; otherwise the server cold-boots (rebuilds its caches). - /// - public int MaxProcessingInstructionCount { get; set; } - - /// - /// A list of callbacks that will be invoked if the lastsynced.txt file does not exist. - /// - /// - /// These callbacks will typically be for eg rebuilding the xml cache file, or examine indexes, based on - /// the data in the database to get this particular server node up to date. - /// - public IEnumerable InitializingCallbacks { get; set; } - - /// - /// The number of days to keep instructions in the database; records older than this number will be pruned. - /// - public int DaysToRetainInstructions { get; set; } - - /// - /// The number of seconds to wait between each sync operations. - /// - public int ThrottleSeconds { get; set; } - - /// - /// The number of seconds to wait between each prune operations. - /// - public int PruneThrottleSeconds { get; set; } - } -} diff --git a/src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs b/src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs index 390e89843e..f361eb7a67 100644 --- a/src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs +++ b/src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs @@ -15,19 +15,13 @@ namespace Umbraco.Core.Sync { private readonly Lazy _registrationService; - /// - /// Gets or sets the registrar options. - /// - public DatabaseServerRegistrarOptions Options { get; } - /// /// Initializes a new instance of the class. /// /// The registration service. /// Some options. - public DatabaseServerRegistrar(Lazy registrationService, DatabaseServerRegistrarOptions options) + public DatabaseServerRegistrar(Lazy registrationService) { - Options = options ?? throw new ArgumentNullException(nameof(options)); _registrationService = registrationService ?? throw new ArgumentNullException(nameof(registrationService)); } diff --git a/src/Umbraco.Core/Sync/DatabaseServerRegistrarOptions.cs b/src/Umbraco.Core/Sync/DatabaseServerRegistrarOptions.cs deleted file mode 100644 index 58b66ca8e6..0000000000 --- a/src/Umbraco.Core/Sync/DatabaseServerRegistrarOptions.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.ComponentModel; - -namespace Umbraco.Core.Sync -{ - /// - /// Provides options to the . - /// - public sealed class DatabaseServerRegistrarOptions - { - /// - /// Initializes a new instance of the class with default values. - /// - public DatabaseServerRegistrarOptions() - { - StaleServerTimeout = TimeSpan.FromMinutes(2); // 2 minutes - RecurringSeconds = 60; // do it every minute - } - - /// - /// The amount of seconds to wait between calls to the database on the background thread - /// - public int RecurringSeconds { get; set; } - - /// - /// The time span to wait before considering a server stale, after it has last been accessed. - /// - public TimeSpan StaleServerTimeout { get; set; } - } -} diff --git a/src/Umbraco.Core/Sync/IBatchedDatabaseServerMessenger.cs b/src/Umbraco.Core/Sync/IBatchedDatabaseServerMessenger.cs index d8ec82818d..560b7fb235 100644 --- a/src/Umbraco.Core/Sync/IBatchedDatabaseServerMessenger.cs +++ b/src/Umbraco.Core/Sync/IBatchedDatabaseServerMessenger.cs @@ -6,7 +6,7 @@ namespace Umbraco.Core.Sync public interface IBatchedDatabaseServerMessenger : IDatabaseServerMessenger { void FlushBatch(); - DatabaseServerMessengerOptions Options { get; } + DatabaseServerMessengerCallbacks Callbacks { get; } void Startup(); } } diff --git a/src/Umbraco.Core/Tour/TourFilterCollectionBuilder.cs b/src/Umbraco.Core/Tour/TourFilterCollectionBuilder.cs index 0d2f605cb1..eac519494a 100644 --- a/src/Umbraco.Core/Tour/TourFilterCollectionBuilder.cs +++ b/src/Umbraco.Core/Tour/TourFilterCollectionBuilder.cs @@ -15,7 +15,7 @@ namespace Umbraco.Web.Tour private readonly HashSet _instances = new HashSet(); /// - protected override IEnumerable CreateItems(IFactory factory) + protected override IEnumerable CreateItems(IServiceProvider factory) { return base.CreateItems(factory).Concat(_instances); } diff --git a/src/Umbraco.Core/UriExtensions.cs b/src/Umbraco.Core/UriExtensions.cs index 446e60e18f..0452373d55 100644 --- a/src/Umbraco.Core/UriExtensions.cs +++ b/src/Umbraco.Core/UriExtensions.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using Microsoft.Extensions.Logging; -using Umbraco.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; @@ -160,7 +159,7 @@ namespace Umbraco.Core } catch (ArgumentException) { - Current.Logger.LogDebug("Failed to determine if request was client side (invalid chars in path \"{Path}\"?)", url.LocalPath); + StaticApplicationLogging.Logger.LogDebug("Failed to determine if request was client side (invalid chars in path \"{Path}\"?)", url.LocalPath); return false; } } diff --git a/src/Umbraco.Examine.Lucene/ExamineLuceneComposer.cs b/src/Umbraco.Examine.Lucene/ExamineLuceneComposer.cs index b1254a4beb..b0da33569c 100644 --- a/src/Umbraco.Examine.Lucene/ExamineLuceneComposer.cs +++ b/src/Umbraco.Examine.Lucene/ExamineLuceneComposer.cs @@ -17,10 +17,10 @@ namespace Umbraco.Examine base.Compose(composition); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/BatchedDatabaseServerMessenger.cs b/src/Umbraco.Infrastructure/BatchedDatabaseServerMessenger.cs index 693246257a..187eced6e4 100644 --- a/src/Umbraco.Infrastructure/BatchedDatabaseServerMessenger.cs +++ b/src/Umbraco.Infrastructure/BatchedDatabaseServerMessenger.cs @@ -1,17 +1,19 @@ using System; using System.Collections.Generic; using System.Linq; -using Newtonsoft.Json; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Newtonsoft.Json; using Umbraco.Core; using Umbraco.Core.Cache; -using Umbraco.Core.Sync; -using Umbraco.Web.Routing; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Hosting; using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Scoping; -using Umbraco.Core.Hosting; +using Umbraco.Core.Sync; +using Umbraco.Web.Routing; namespace Umbraco.Web { @@ -31,16 +33,16 @@ namespace Umbraco.Web IMainDom mainDom, IUmbracoDatabaseFactory databaseFactory, IScopeProvider scopeProvider, - ISqlContext sqlContext, IProfilingLogger proflog, ILogger logger, IServerRegistrar serverRegistrar, - DatabaseServerMessengerOptions options, + DatabaseServerMessengerCallbacks callbacks, IHostingEnvironment hostingEnvironment, CacheRefresherCollection cacheRefreshers, IRequestCache requestCache, - IRequestAccessor requestAccessor) - : base(mainDom, scopeProvider, sqlContext, proflog, logger, serverRegistrar, true, options, hostingEnvironment, cacheRefreshers) + IRequestAccessor requestAccessor, + IOptions globalSettings) + : base(mainDom, scopeProvider, databaseFactory, proflog, logger, serverRegistrar, true, callbacks, hostingEnvironment, cacheRefreshers, globalSettings) { _databaseFactory = databaseFactory; _requestCache = requestCache; @@ -90,7 +92,7 @@ namespace Umbraco.Web //Write the instructions but only create JSON blobs with a max instruction count equal to MaxProcessingInstructionCount using (var scope = ScopeProvider.CreateScope()) { - foreach (var instructionsBatch in instructions.InGroupsOf(Options.MaxProcessingInstructionCount)) + foreach (var instructionsBatch in instructions.InGroupsOf(GlobalSettings.DatabaseServerMessenger.MaxProcessingInstructionCount)) { WriteInstructions(scope, instructionsBatch); } @@ -144,7 +146,7 @@ namespace Umbraco.Web //only write the json blob with a maximum count of the MaxProcessingInstructionCount using (var scope = ScopeProvider.CreateScope()) { - foreach (var maxBatch in instructions.InGroupsOf(Options.MaxProcessingInstructionCount)) + foreach (var maxBatch in instructions.InGroupsOf(GlobalSettings.DatabaseServerMessenger.MaxProcessingInstructionCount)) { WriteInstructions(scope, maxBatch); } diff --git a/src/Umbraco.Infrastructure/Cache/DistributedCacheBinderComposer.cs b/src/Umbraco.Infrastructure/Cache/DistributedCacheBinderComposer.cs index 86f70798d7..3e99d453fa 100644 --- a/src/Umbraco.Infrastructure/Cache/DistributedCacheBinderComposer.cs +++ b/src/Umbraco.Infrastructure/Cache/DistributedCacheBinderComposer.cs @@ -14,7 +14,7 @@ namespace Umbraco.Web.Cache { base.Compose(composition); - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/Compose/DatabaseServerRegistrarAndMessengerComponent.cs b/src/Umbraco.Infrastructure/Compose/DatabaseServerRegistrarAndMessengerComponent.cs index 096c5d5686..3309c347db 100644 --- a/src/Umbraco.Infrastructure/Compose/DatabaseServerRegistrarAndMessengerComponent.cs +++ b/src/Umbraco.Infrastructure/Compose/DatabaseServerRegistrarAndMessengerComponent.cs @@ -1,17 +1,12 @@ using System; -using System.Threading; -using Microsoft.Extensions.Logging; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; -using Umbraco.Core.Hosting; -using Umbraco.Core.Services; using Umbraco.Core.Services.Changes; using Umbraco.Core.Sync; -using Umbraco.Examine; using Umbraco.Web.Cache; using Umbraco.Web.PublishedCache; using Umbraco.Web.Routing; -using Umbraco.Web.Scheduling; using Umbraco.Web.Search; namespace Umbraco.Web.Compose @@ -35,9 +30,9 @@ namespace Umbraco.Web.Compose public sealed class DatabaseServerRegistrarAndMessengerComposer : ComponentComposer, ICoreComposer { - public static DatabaseServerMessengerOptions GetDefaultOptions(IFactory factory) + public static DatabaseServerMessengerCallbacks GetCallbacks(IServiceProvider factory) { - return new DatabaseServerMessengerOptions + return new DatabaseServerMessengerCallbacks { //These callbacks will be executed if the server has not been synced // (i.e. it is a new server or the lastsynced.txt file has been removed) @@ -46,7 +41,7 @@ namespace Umbraco.Web.Compose //rebuild the xml cache file if the server is not synced () => { - var publishedSnapshotService = factory.GetInstance(); + var publishedSnapshotService = factory.GetRequiredService(); // rebuild the published snapshot caches entirely, if the server is not synced // this is equivalent to DistributedCache RefreshAll... but local only @@ -62,7 +57,7 @@ namespace Umbraco.Web.Compose // indexes then they can adjust this logic themselves. () => { - var indexRebuilder = factory.GetInstance(); + var indexRebuilder = factory.GetRequiredService(); indexRebuilder.RebuildIndexes(false, 5000); } } @@ -73,208 +68,55 @@ namespace Umbraco.Web.Compose { base.Compose(composition); - composition.SetDatabaseServerMessengerOptions(GetDefaultOptions); + composition.SetDatabaseServerMessengerCallbacks(GetCallbacks); composition.SetServerMessenger(); } } public sealed class DatabaseServerRegistrarAndMessengerComponent : IComponent { - private object _locker = new object(); - private readonly DatabaseServerRegistrar _registrar; private readonly IBatchedDatabaseServerMessenger _messenger; - private readonly ILogger _logger; - private readonly ILoggerFactory _loggerFactory; - private readonly IServerRegistrationService _registrationService; - private readonly BackgroundTaskRunner _touchTaskRunner; - private readonly BackgroundTaskRunner _processTaskRunner; - private bool _started; - private IBackgroundTask[] _tasks; private readonly IRequestAccessor _requestAccessor; public DatabaseServerRegistrarAndMessengerComponent( - IServerRegistrar serverRegistrar, IServerMessenger serverMessenger, - IServerRegistrationService registrationService, - ILogger logger, - ILoggerFactory loggerFactory, - IApplicationShutdownRegistry hostingEnvironment, IRequestAccessor requestAccessor) { - _logger = logger; - _loggerFactory = loggerFactory; - _registrationService = registrationService; _requestAccessor = requestAccessor; - - // create task runner for DatabaseServerRegistrar - _registrar = serverRegistrar as DatabaseServerRegistrar; - if (_registrar != null) - { - _touchTaskRunner = new BackgroundTaskRunner("ServerRegistration", - new BackgroundTaskRunnerOptions { AutoStart = true }, _loggerFactory.CreateLogger>(), hostingEnvironment); - } - - // create task runner for BatchedDatabaseServerMessenger _messenger = serverMessenger as IBatchedDatabaseServerMessenger; - if (_messenger != null) - { - _processTaskRunner = new BackgroundTaskRunner("ServerInstProcess", - new BackgroundTaskRunnerOptions { AutoStart = true }, _loggerFactory.CreateLogger>(), hostingEnvironment); - } } public void Initialize() { - //We will start the whole process when a successful request is made - if (_registrar != null || _messenger != null) - _requestAccessor.RouteAttempt += RegisterBackgroundTasksOnce; + // The scheduled tasks - TouchServerTask and InstructionProcessTask - run as .NET Core hosted services. + // The former (as well as other hosted services that run outside of an HTTP request context) depends on the application URL + // being available (via IRequestAccessor), which can only be retrieved within an HTTP request (unless it's explicitly configured). + // Hence we hook up a one-off task on an HTTP request to ensure this is retrieved, which caches the value and makes it available + // for the hosted services to use when the HTTP request is not available. + _requestAccessor.RouteAttempt += EnsureApplicationUrlOnce; - // must come last, as it references some _variables + // Must come last, as it references some _variables _messenger?.Startup(); } public void Terminate() { } - /// - /// Handle when a request is made - /// - /// - /// - /// - /// We require this because: - /// - ApplicationContext.UmbracoApplicationUrl is initialized by UmbracoModule in BeginRequest - /// - RegisterServer is called on _requestAccessor.RouteAttempt which is triggered in ProcessRequest - /// we are safe, UmbracoApplicationUrl has been initialized - /// - private void RegisterBackgroundTasksOnce(object sender, RoutableAttemptEventArgs e) + private void EnsureApplicationUrlOnce(object sender, RoutableAttemptEventArgs e) { - switch (e.Outcome) + if (e.Outcome == EnsureRoutableOutcome.IsRoutable || e.Outcome == EnsureRoutableOutcome.NotDocumentRequest) { - case EnsureRoutableOutcome.IsRoutable: - case EnsureRoutableOutcome.NotDocumentRequest: - _requestAccessor.RouteAttempt -= RegisterBackgroundTasksOnce; - RegisterBackgroundTasks(); - break; + _requestAccessor.RouteAttempt -= EnsureApplicationUrlOnce; + EnsureApplicationUrl(); } } - private void RegisterBackgroundTasks() + private void EnsureApplicationUrl() { - // only perform this one time ever - LazyInitializer.EnsureInitialized(ref _tasks, ref _started, ref _locker, () => - { - var serverAddress = _requestAccessor.GetApplicationUrl().ToString(); - - return new[] - { - RegisterInstructionProcess(), - RegisterTouchServer(_registrationService, serverAddress) - }; - }); - } - - private IBackgroundTask RegisterInstructionProcess() - { - if (_messenger == null) - return null; - - var task = new InstructionProcessTask(_processTaskRunner, - 60000, //delay before first execution - _messenger.Options.ThrottleSeconds*1000, //amount of ms between executions - _messenger, - _logger); - _processTaskRunner.TryAdd(task); - return task; - } - - private IBackgroundTask RegisterTouchServer(IServerRegistrationService registrationService, string serverAddress) - { - if (_registrar == null) - return null; - - var task = new TouchServerTask(_touchTaskRunner, - 15000, //delay before first execution - _registrar.Options.RecurringSeconds*1000, //amount of ms between executions - registrationService, _registrar, serverAddress, _logger); - _touchTaskRunner.TryAdd(task); - return task; - } - - private class InstructionProcessTask : RecurringTaskBase - { - private readonly IDatabaseServerMessenger _messenger; - private readonly ILogger _logger; - - public InstructionProcessTask(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IDatabaseServerMessenger messenger, ILogger logger) - : base(runner, delayMilliseconds, periodMilliseconds) - { - _messenger = messenger; - _logger = logger; - } - - public override bool IsAsync => false; - - /// - /// Runs the background task. - /// - /// A value indicating whether to repeat the task. - public override bool PerformRun() - { - try - { - _messenger.Sync(); - } - catch (Exception e) - { - _logger.LogError(e, "Failed (will repeat)."); - } - return true; // repeat - } - } - - private class TouchServerTask : RecurringTaskBase - { - private readonly IServerRegistrationService _svc; - private readonly DatabaseServerRegistrar _registrar; - private readonly string _serverAddress; - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public TouchServerTask(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IServerRegistrationService svc, DatabaseServerRegistrar registrar, string serverAddress, ILogger logger) - : base(runner, delayMilliseconds, periodMilliseconds) - { - _svc = svc ?? throw new ArgumentNullException(nameof(svc)); - _registrar = registrar; - _serverAddress = serverAddress; - _logger = logger; - } - - public override bool IsAsync => false; - - /// - /// Runs the background task. - /// - /// A value indicating whether to repeat the task. - public override bool PerformRun() - { - try - { - // TouchServer uses a proper unit of work etc underneath so even in a - // background task it is safe to call it without dealing with any scope - _svc.TouchServer(_serverAddress, _svc.CurrentServerIdentity, _registrar.Options.StaleServerTimeout); - return true; // repeat - } - catch (Exception ex) - { - _logger.LogError(ex, "Failed to update server record in database."); - return false; // probably stop if we have an error - } - } + // By retrieving the application URL within the context of a request (as we are here in responding + // to the IRequestAccessor's RouteAttempt event), we'll get it from the HTTP context and save it for + // future requests that may not be within an HTTP request (e.g. from hosted services). + _requestAccessor.GetApplicationUrl(); } } } diff --git a/src/Umbraco.Infrastructure/Compose/NotificationsComposer.cs b/src/Umbraco.Infrastructure/Compose/NotificationsComposer.cs index 7b4bebf878..a483b170de 100644 --- a/src/Umbraco.Infrastructure/Compose/NotificationsComposer.cs +++ b/src/Umbraco.Infrastructure/Compose/NotificationsComposer.cs @@ -10,7 +10,7 @@ namespace Umbraco.Web.Compose { base.Compose(composition); - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/CoreMappingProfiles.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/CoreMappingProfiles.cs index 057dad0da6..823f8618ad 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/CoreMappingProfiles.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/CoreMappingProfiles.cs @@ -1,4 +1,5 @@ -using Umbraco.Core.BackOffice; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.BackOffice; using Umbraco.Core.Mapping; using Umbraco.Web.Models.Mapping; @@ -14,7 +15,7 @@ namespace Umbraco.Core.Composing.CompositionExtensions /// public static Composition ComposeCoreMappingProfiles(this Composition composition) { - composition.RegisterUnique(); + composition.Services.AddUnique(); composition.WithCollectionBuilder() .Add() @@ -36,8 +37,8 @@ namespace Umbraco.Core.Composing.CompositionExtensions .Add() ; - composition.Register(); - composition.Register(); + composition.Services.AddTransient(); + composition.Services.AddTransient(); return composition; } diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/FileSystems.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/FileSystems.cs index adba706d13..a4286bd719 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/FileSystems.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/FileSystems.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.Logging; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; @@ -14,10 +15,13 @@ namespace Umbraco.Core.Composing.CompositionExtensions * HOW TO REPLACE THE MEDIA UNDERLYING FILESYSTEM * ---------------------------------------------- * - * composition.RegisterUnique(factoryMethod); + * Create an implementation of IFileSystem and register it as the underlying filesystem for + * MediaFileSystem with the following extension on composition. * - * composition.RegisterUnique(); + * composition.SetMediaFileSystem(factory => FactoryMethodToReturnYourImplementation()) * + * Alternatively you can just register an Implementation of IMediaFileSystem, however the + * extension above ensures that your IFileSystem implementation is wrapped by the "ShadowWrapper". * * WHAT IS SHADOWING * ----------------- @@ -27,7 +31,6 @@ namespace Umbraco.Core.Composing.CompositionExtensions * compared to creating your own physical filesystem, ensures that your filesystem * would participate into such transactions. * - * */ public static Composition ComposeFileSystems(this Composition composition) @@ -36,28 +39,24 @@ namespace Umbraco.Core.Composing.CompositionExtensions // it needs to be registered (not only the interface) because it provides additional // functionality eg for scoping, and is injected in the scope provider - whereas the // interface is really for end-users to get access to filesystems. - composition.RegisterUnique(factory => factory.CreateInstance(factory)); + composition.Services.AddUnique(factory => factory.CreateInstance(factory)); // register IFileSystems, which gives access too all filesystems - composition.RegisterUnique(factory => factory.GetInstance()); + composition.Services.AddUnique(factory => factory.GetRequiredService()); // register the scheme for media paths - composition.RegisterUnique(); + composition.Services.AddUnique(); - // register the default IMediaFileSystem implementation - composition.RegisterUnique(factory => + composition.SetMediaFileSystem(factory => { - var ioHelper = factory.GetInstance(); - var hostingEnvironment = factory.GetInstance(); - var logger = factory.GetInstance>(); - var globalSettings = factory.GetInstance>().Value; + var ioHelper = factory.GetRequiredService(); + var hostingEnvironment = factory.GetRequiredService(); + var logger = factory.GetRequiredService>(); + var globalSettings = factory.GetRequiredService>().Value; var rootPath = hostingEnvironment.MapPathWebRoot(globalSettings.UmbracoMediaPath); var rootUrl = hostingEnvironment.ToAbsolute(globalSettings.UmbracoMediaPath); - var inner = new PhysicalFileSystem(ioHelper, hostingEnvironment, logger, rootPath, rootUrl); - - var fileSystems = factory.GetInstance(); - return fileSystems.GetFileSystem(inner); + return new PhysicalFileSystem(ioHelper, hostingEnvironment, logger, rootPath, rootUrl); }); return composition; diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Installer.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Installer.cs index d49d1b4783..7e64b0698c 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Installer.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Installer.cs @@ -1,4 +1,5 @@ -using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Web.Install; using Umbraco.Web.Install.InstallSteps; @@ -12,22 +13,22 @@ namespace Umbraco.Web.Composing.CompositionExtensions { // register the installer steps - composition.Register(Lifetime.Scope); - composition.Register(Lifetime.Scope); - composition.Register(Lifetime.Scope); - composition.Register(Lifetime.Scope); - composition.Register(Lifetime.Scope); - composition.Register(Lifetime.Scope); + composition.Services.AddScoped(); + composition.Services.AddScoped(); + composition.Services.AddScoped(); + composition.Services.AddScoped(); + composition.Services.AddScoped(); + composition.Services.AddScoped(); // TODO: Add these back once we have a compatible Starter kit - // composition.Register(Lifetime.Scope); - // composition.Register(Lifetime.Scope); - // composition.Register(Lifetime.Scope); + // composition.Services.AddScoped(); + // composition.Services.AddScoped(); + // composition.Services.AddScoped(); - composition.Register(Lifetime.Scope); + composition.Services.AddScoped(); - composition.Register(); - composition.RegisterUnique(); + composition.Services.AddTransient(); + composition.Services.AddUnique(); return composition; } diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Repositories.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Repositories.cs index 9a23255cc4..8d15b5761a 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Repositories.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Repositories.cs @@ -11,45 +11,45 @@ namespace Umbraco.Core.Composing.CompositionExtensions public static Composition ComposeRepositories(this Composition composition) { // repositories - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); return composition; } diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs index a4744d3d2d..c6106b2191 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Umbraco.Core.Cache; @@ -22,58 +23,58 @@ namespace Umbraco.Core.Composing.CompositionExtensions { // register a transient messages factory, which will be replaced by the web // boot manager when running in a web context - composition.RegisterUnique(); + composition.Services.AddUnique(); // register the service context - composition.RegisterUnique(); + composition.Services.AddUnique(); // register the special idk map - composition.RegisterUnique(); + composition.Services.AddUnique(); // register the services - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.Register(SourcesFactory); - composition.RegisterUnique(factory => new LocalizedTextService( - factory.GetInstance>(), - factory.GetInstance>())); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddTransient(SourcesFactory); + composition.Services.AddUnique(factory => new LocalizedTextService( + factory.GetRequiredService>(), + factory.GetRequiredService>())); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(factory => CreatePackageRepository(factory, "createdPackages.config")); - composition.RegisterUnique(factory => CreatePackageRepository(factory, "installedPackages.config")); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(factory => CreatePackageRepository(factory, "createdPackages.config")); + composition.Services.AddUnique(factory => CreatePackageRepository(factory, "installedPackages.config")); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); return composition; } @@ -84,25 +85,25 @@ namespace Umbraco.Core.Composing.CompositionExtensions /// /// /// - private static PackagesRepository CreatePackageRepository(IFactory factory, string packageRepoFileName) + private static PackagesRepository CreatePackageRepository(IServiceProvider factory, string packageRepoFileName) => new PackagesRepository( - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance>(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService>(), packageRepoFileName); - private static LocalizedTextServiceFileSources SourcesFactory(IFactory container) + private static LocalizedTextServiceFileSources SourcesFactory(IServiceProvider container) { - var hostingEnvironment = container.GetInstance(); - var globalSettings = container.GetInstance>().Value; + var hostingEnvironment = container.GetRequiredService(); + var globalSettings = container.GetRequiredService>().Value; var mainLangFolder = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(WebPath.Combine(globalSettings.UmbracoPath , "config","lang"))); var appPlugins = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.AppPlugins)); var configLangFolder = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(WebPath.Combine(Constants.SystemDirectories.Config ,"lang"))); @@ -122,8 +123,8 @@ namespace Umbraco.Core.Composing.CompositionExtensions .Select(x => new LocalizedTextServiceSupplementaryFileSource(x, true)); return new LocalizedTextServiceFileSources( - container.GetInstance>(), - container.GetInstance(), + container.GetRequiredService>(), + container.GetRequiredService(), mainLangFolder, pluginLangFolders.Concat(userLangFolders)); } diff --git a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs b/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs deleted file mode 100644 index 3537230c2b..0000000000 --- a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs +++ /dev/null @@ -1,250 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Threading; -using LightInject; - -namespace Umbraco.Core.Composing.LightInject -{ - /// - /// Implements DI with LightInject. - /// - public class LightInjectContainer : IRegister, IFactory, IDisposable - { - private int _disposed; - - /// - /// Initializes a new instance of the with a LightInject container. - /// - public LightInjectContainer(ServiceContainer container) - { - Container = ConfigureContainer(container); - } - - //TODO: The Create methods can die when net framework is gone - - /// - /// Creates a new instance of the class. - /// - public static LightInjectContainer Create() - => new LightInjectContainer(CreateServiceContainer()); - - /// - /// Creates a new instance of the LightInject service container. - /// - protected static ServiceContainer CreateServiceContainer() - { - var container = new ServiceContainer(new ContainerOptions { EnablePropertyInjection = false }); - ConfigureContainer(container); - return container; - } - - private static ServiceContainer ConfigureContainer(ServiceContainer container) - { - // note: the block below is disabled, as it is too LightInject-specific - // - // supports annotated constructor injections - // eg to specify the service name on some services - //container.EnableAnnotatedConstructorInjection(); - - // note: the block below is disabled, we do not allow property injection at all anymore - // (see options in CreateServiceContainer) - // - // from the docs: "LightInject considers all read/write properties a dependency, but implements - // a loose strategy around property dependencies, meaning that it will NOT throw an exception - // in the case of an unresolved property dependency." - // - // in Umbraco we do NOT want to do property injection by default, so we have to disable it. - // from the docs, the following line will cause the container to "now only try to inject - // dependencies for properties that is annotated with the InjectAttribute." - // - // could not find it documented, but tests & code review shows that LightInject considers a - // property to be "injectable" when its setter exists and is not static, nor private, nor - // it is an index property. which means that eg protected or internal setters are OK. - //Container.EnableAnnotatedPropertyInjection(); - - // ensure that we do *not* scan assemblies - // we explicitly RegisterFrom our own composition roots and don't want them scanned - container.AssemblyScanner = new AssemblyScanner(/*container.AssemblyScanner*/); - - // see notes in MixedLightInjectScopeManagerProvider - container.ScopeManagerProvider = new MixedLightInjectScopeManagerProvider(); - - // note: the block below is disabled, because it does not work, because collection builders - // are singletons, and constructor dependencies don't work on singletons, see - // https://github.com/seesharper/LightInject/issues/294 - // - // if looking for a IContainer, and one was passed in args, use it - // this is for collection builders which require the IContainer - //container.RegisterConstructorDependency((c, i, a) => a.OfType().FirstOrDefault()); - // - // and, the block below is also disabled, because it is ugly - // - //// which means that the only way to inject the container into builders is to register it - //container.RegisterInstance(this); - // - // instead, we use an explicit GetInstance with arguments implementation - - return container; - } - - /// - /// Gets the LightInject container. - /// - public ServiceContainer Container { get; } - - /// - /// - public object Concrete => Container; - - /// - public void Dispose() - { - if (Interlocked.Exchange(ref _disposed, 1) == 1) - return; - - Container.Dispose(); - } - - /// - public IFactory CreateFactory() => this; - - private static string GetTargetedServiceName() => "TARGET:" + typeof(TTarget).FullName; - - #region Factory - - /// - public object GetInstance(Type type) - => Container.GetInstance(type); - - /// - public TService GetInstanceFor() - => Container.GetInstance(GetTargetedServiceName()); - - /// - public object TryGetInstance(Type type) - => Container.TryGetInstance(type); - - /// - public IEnumerable GetAllInstances() - where T : class - => Container.GetAllInstances(); - - /// - public IEnumerable GetAllInstances(Type type) - => Container.GetAllInstances(type); - - /// - public void Release(object instance) - { - // nothing to release with LightInject - } - - // notes: - // we may want to look into MS code, eg: - // TypeActivatorCache in MVC at https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Core/Internal/TypeActivatorCache.cs - // which relies onto - // ActivatorUtilities at https://github.com/aspnet/DependencyInjection/blob/master/shared/Microsoft.Extensions.ActivatorUtilities.Sources/ActivatorUtilities.cs - - #endregion - - #region Registry - - /// - public void Register(Type serviceType, Lifetime lifetime = Lifetime.Transient) - => Container.Register(serviceType, GetLifetime(lifetime)); - - /// - public void Register(Type serviceType, Type implementingType, Lifetime lifetime = Lifetime.Transient) - { - switch (lifetime) - { - case Lifetime.Transient: - Container.Register(serviceType, implementingType, implementingType.Name); - break; - case Lifetime.Request: - case Lifetime.Scope: - case Lifetime.Singleton: - Container.Register(serviceType, implementingType, GetLifetime(lifetime)); - break; - default: - throw new NotSupportedException($"Lifetime {lifetime} is not supported."); - } - } - - /// - public void Register(Func factory, Lifetime lifetime = Lifetime.Transient) - where TService : class - { - Container.Register(f => factory(this), GetLifetime(lifetime)); - } - - /// - public void Register(Type serviceType, object instance) - => Container.RegisterInstance(serviceType, instance); - - private ILifetime GetLifetime(Lifetime lifetime) - { - switch (lifetime) - { - case Lifetime.Transient: - return null; - case Lifetime.Request: - return new PerRequestLifeTime(); - case Lifetime.Scope: - return new PerScopeLifetime(); - case Lifetime.Singleton: - return new PerContainerLifetime(); - default: - throw new NotSupportedException($"Lifetime {lifetime} is not supported."); - } - } - - /// - public void RegisterAuto(Type serviceBaseType) - { - Container.RegisterFallback((serviceType, serviceName) => - { - // https://github.com/seesharper/LightInject/issues/173 - if (serviceBaseType.IsAssignableFromGtd(serviceType)) - Container.Register(serviceType); - return false; - }, null); - } - - #endregion - - #region Control - - /// - public IDisposable BeginScope() - => Container.BeginScope(); - - /// - public virtual void ConfigureForWeb() - { } - - /// - public virtual void EnablePerWebRequestScope() - { - if (!(Container.ScopeManagerProvider is MixedLightInjectScopeManagerProvider smp)) - throw new Exception("Container.ScopeManagerProvider is not MixedLightInjectScopeManagerProvider."); - smp.EnablePerWebRequestScope(new PerLogicalCallContextScopeManagerProvider()); - } - - private class AssemblyScanner : IAssemblyScanner - { - public void Scan(Assembly assembly, IServiceRegistry serviceRegistry, Func lifetime, Func shouldRegister, Func serviceNameProvider) - { - // nothing - we don't want LightInject to scan - } - - public void Scan(Assembly assembly, IServiceRegistry serviceRegistry) - { - // nothing - we don't want LightInject to scan - } - } - - #endregion - } -} diff --git a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectException.cs b/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectException.cs deleted file mode 100644 index e1344468f9..0000000000 --- a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectException.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using System.Runtime.Serialization; -using System.Text; - -namespace Umbraco.Core.Composing.LightInject -{ - /// - /// Represents errors that occur due to LightInject. - /// - /// - [Serializable] - public class LightInjectException : Exception - { - private const string LightInjectUnableToResolveType = "Unable to resolve type:"; - private const string LightInjectUnresolvedDependency = "Unresolved dependency "; - private const string LightInjectRequestedDependency = "[Requested dependency:"; - - /// - /// Initializes a new instance of the class. - /// - public LightInjectException() - { } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public LightInjectException(string message) - : base(message) - { } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// The exception that is the cause of the current exception, or a null reference ( in Visual Basic) if no inner exception is specified. - public LightInjectException(string message, Exception innerException) - : base(message, innerException) - { } - - /// - /// Initializes a new instance of the class. - /// - /// The that holds the serialized object data about the exception being thrown. - /// The that contains contextual information about the source or destination. - protected LightInjectException(SerializationInfo info, StreamingContext context) - : base(info, context) - { } - - /// - /// Tries to throw the exception with additional details. - /// - /// The exception. - /// - public static void TryThrow(Exception e) - { - var ex = e as InvalidOperationException; - if (ex == null || ex.Message.StartsWith(LightInjectUnableToResolveType) == false) - return; - - var sb = new StringBuilder(); - sb.AppendLine("Unresolved type: " + ex.Message.Substring(LightInjectUnableToResolveType.Length)); - WriteDetails(ex, sb); - throw new LightInjectException(sb.ToString(), e); - } - - /// - /// Tries to throw the exception with additional details. - /// - /// The exception. - /// The implementing type. - /// - public static void TryThrow(Exception e, Type implementingType) - { - var ex = e as InvalidOperationException; - if (ex == null || ex.Message.StartsWith(LightInjectUnableToResolveType) == false) - return; - - var sb = new StringBuilder(); - sb.AppendLine("Unresolved type: " + ex.Message.Substring(LightInjectUnableToResolveType.Length)); - sb.AppendLine("Implementing type: " + implementingType); - WriteDetails(ex, sb); - throw new LightInjectException(sb.ToString(), e); - } - - /// - /// Writes the details. - /// - /// The exception. - /// The to write the details to. - private static void WriteDetails(InvalidOperationException ex, StringBuilder sb) - { - ex = ex.InnerException as InvalidOperationException; - while (ex != null) - { - var message = ex.Message; - - if (message.StartsWith(LightInjectUnableToResolveType)) - { - sb.AppendLine("-> Unresolved type: " + message.Substring(LightInjectUnableToResolveType.Length)); - } - else if (message.StartsWith(LightInjectUnresolvedDependency)) - { - var pos = message.InvariantIndexOf(LightInjectRequestedDependency); - sb.AppendLine("-> Unresolved dependency: " + message.Substring(pos + LightInjectRequestedDependency.Length + 1).TrimEnd(']')); - } - - ex = ex.InnerException as InvalidOperationException; - } - } - } -} diff --git a/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs b/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs deleted file mode 100644 index 3175376b33..0000000000 --- a/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs +++ /dev/null @@ -1,43 +0,0 @@ -using LightInject; - -namespace Umbraco.Core.Composing.LightInject -{ - // by default, the container's scope manager provider is PerThreadScopeManagerProvider, - // and then container.EnablePerWebRequestScope() replaces it with PerWebRequestScopeManagerProvider, - // however if any delegate has been compiled already at that point, it captures the scope - // manager provider and changing it afterwards has no effect for that delegate. - // - // therefore, Umbraco uses the mixed scope manager provider, which initially wraps an instance - // of PerThreadScopeManagerProvider and then can replace that wrapped instance with an instance - // of PerWebRequestScopeManagerProvider - but all delegates see is the mixed one - and therefore - // they can transition without issues. - // - // The PerWebRequestScopeManager maintains the scope in HttpContext and LightInject registers a - // module (PreApplicationStartMethod) which disposes it on EndRequest - // - // the mixed provider is installed in container.ConfigureUmbracoCore() and then, - // when doing eg container.EnableMvc() or anything that does container.EnablePerWebRequestScope() - // we need to take great care to preserve the mixed scope manager provider! - - public class MixedLightInjectScopeManagerProvider : IScopeManagerProvider - { - private IScopeManagerProvider _provider; - - public MixedLightInjectScopeManagerProvider() - { - _provider = new PerThreadScopeManagerProvider(); - } - - public void EnablePerWebRequestScope(IScopeManagerProvider perRequestScopeProvider) - { - if (perRequestScopeProvider.GetType().IsAssignableFrom(_provider.GetType())) return; - _provider = perRequestScopeProvider; - } - - public IScopeManager GetScopeManager(IServiceFactory factory) - { - return _provider.GetScopeManager(factory); - } - } -} - diff --git a/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs b/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs deleted file mode 100644 index e065852538..0000000000 --- a/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs +++ /dev/null @@ -1,65 +0,0 @@ -using LightInject; -using LightInject.Microsoft.DependencyInjection; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using System; -using System.Reflection; -using Umbraco.Core.Composing.LightInject; -using Umbraco.Core.Configuration; -using Umbraco.Core.Configuration.Models; - -namespace Umbraco.Core.Composing -{ - - /// - /// Creates the container. - /// - public static class RegisterFactory - { - //TODO: This can die when net framework is gone - - // cannot use typeof().AssemblyQualifiedName on the web container - we don't reference it - // a normal Umbraco site should run on the web container, but an app may run on the core one - private const string CoreLightInjectContainerTypeName = "Umbraco.Core.Composing.LightInject.LightInjectContainer,Umbraco.Core"; - private const string WebLightInjectContainerTypeName = "Umbraco.Core.Composing.LightInject.LightInjectContainer,Umbraco.Infrastructure"; - - /// - /// Creates a new instance of the configured container. - /// - /// - /// To override the default LightInjectContainer, add an appSetting named 'Umbraco.Core.RegisterType' with - /// a fully qualified type name to a class with a static method "Create" returning an IRegister. - /// - public static IRegister Create(GlobalSettings globalSettings) - { - Type type; - - var configuredTypeName = globalSettings.RegisterType; - if (configuredTypeName.IsNullOrWhiteSpace()) - { - // try to get the web LightInject container type, - // else the core LightInject container type - type = Type.GetType(configuredTypeName = WebLightInjectContainerTypeName) ?? - Type.GetType(configuredTypeName = CoreLightInjectContainerTypeName); - } - else - { - // try to get the configured type - type = Type.GetType(configuredTypeName); - } - - if (type == null) - throw new Exception($"Cannot find register factory class '{configuredTypeName}'."); - - var factoryMethod = type.GetMethod("Create", BindingFlags.Public | BindingFlags.Static); - if (factoryMethod == null) - throw new Exception($"Register factory class '{configuredTypeName}' does not have a public static method named Create."); - - var container = factoryMethod.Invoke(null, Array.Empty()) as IRegister; - if (container == null) - throw new Exception($"Register factory '{configuredTypeName}' did not return an IRegister implementation."); - - return container; - } - } -} diff --git a/src/Umbraco.Infrastructure/Composing/ServiceCollectionRegistryAdapter.cs b/src/Umbraco.Infrastructure/Composing/ServiceCollectionRegistryAdapter.cs deleted file mode 100644 index d0ff384cb1..0000000000 --- a/src/Umbraco.Infrastructure/Composing/ServiceCollectionRegistryAdapter.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using Microsoft.Extensions.DependencyInjection; -using Umbraco.Core.Composing; - -namespace Umbraco.Infrastructure.Composing -{ - public class ServiceCollectionRegistryAdapter : IRegister - { - private readonly IServiceCollection _services; - - public ServiceCollectionRegistryAdapter(IServiceCollection services) - { - _services = services ?? throw new ArgumentNullException(nameof(services)); - _services.AddTransient(typeof(Lazy<>), typeof(LazyResolve<>)); - } - - public void Register(Type serviceType, Lifetime lifetime = Lifetime.Transient) - { - switch (lifetime) - { - case Lifetime.Request: - case Lifetime.Scope: - _services.AddScoped(serviceType); - break; - case Lifetime.Transient: - _services.AddTransient(serviceType); - break; - case Lifetime.Singleton: - _services.AddSingleton(serviceType); - break; - default: - throw new NotImplementedException($"Unhandled Lifetime: {lifetime}"); - } - } - - public void Register(Type serviceType, Type implementingType, Lifetime lifetime = Lifetime.Transient) - { - switch (lifetime) - { - case Lifetime.Request: - case Lifetime.Scope: - _services.AddScoped(serviceType, implementingType); - break; - case Lifetime.Transient: - _services.AddTransient(serviceType, implementingType); - break; - case Lifetime.Singleton: - _services.AddSingleton(serviceType, implementingType); - break; - default: - throw new NotImplementedException($"Unhandled Lifetime: {lifetime}"); - } - } - - public void Register(Func factory, Lifetime lifetime = Lifetime.Transient) where TService : class - { - switch (lifetime) - { - case Lifetime.Request: - case Lifetime.Scope: - _services.AddScoped(sp => factory(ServiceProviderFactoryAdapter.Wrap(sp))); - break; - case Lifetime.Transient: - _services.AddTransient(sp => factory(ServiceProviderFactoryAdapter.Wrap(sp))); - break; - case Lifetime.Singleton: - _services.AddSingleton(sp => factory(ServiceProviderFactoryAdapter.Wrap(sp))); - break; - default: - throw new NotImplementedException($"Unhandled Lifetime: {lifetime}"); - } - } - public void Register(Type serviceType, object instance) - { - _services.AddSingleton(serviceType, instance); - } - - public IFactory CreateFactory() - { - return ServiceProviderFactoryAdapter.Wrap(_services.BuildServiceProvider()); - } - } - - public class LazyResolve : Lazy - where T : class - { - public LazyResolve(IServiceProvider serviceProvider) : base(serviceProvider.GetRequiredService) - { - - } - } -} diff --git a/src/Umbraco.Infrastructure/Composing/ServiceProviderFactoryAdapter.cs b/src/Umbraco.Infrastructure/Composing/ServiceProviderFactoryAdapter.cs deleted file mode 100644 index 1273e40123..0000000000 --- a/src/Umbraco.Infrastructure/Composing/ServiceProviderFactoryAdapter.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Extensions.DependencyInjection; -using Umbraco.Core.Composing; - -namespace Umbraco.Infrastructure.Composing -{ - internal class ServiceProviderFactoryAdapter : IFactory - { - private readonly IServiceProvider _serviceProvider; - - private ServiceProviderFactoryAdapter(IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } - - public object Concrete => _serviceProvider; - - public object GetInstance(Type type) - { - return _serviceProvider.GetRequiredService(type); - } - - public object TryGetInstance(Type type) - { - return _serviceProvider.GetService(type); - } - - public IEnumerable GetAllInstances(Type serviceType) - { - return _serviceProvider.GetServices(serviceType); - } - - public IEnumerable GetAllInstances() where TService : class - { - return _serviceProvider.GetServices(); - } - - public IDisposable BeginScope() - { - return _serviceProvider.CreateScope(); - } - - public static IFactory Wrap(IServiceProvider serviceProvider) - { - return new ServiceProviderFactoryAdapter(serviceProvider); - } - } -} diff --git a/src/Umbraco.Infrastructure/CompositionExtensions.cs b/src/Umbraco.Infrastructure/CompositionExtensions.cs index 6ba5c34505..3a7537d346 100644 --- a/src/Umbraco.Infrastructure/CompositionExtensions.cs +++ b/src/Umbraco.Infrastructure/CompositionExtensions.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Dictionary; @@ -111,9 +112,9 @@ namespace Umbraco.Core /// The type of the factory. /// The composition. public static void SetCultureDictionaryFactory(this Composition composition) - where T : ICultureDictionaryFactory + where T : class, ICultureDictionaryFactory { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -121,9 +122,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a culture dictionary factory. - public static void SetCultureDictionaryFactory(this Composition composition, Func factory) + public static void SetCultureDictionaryFactory(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -133,7 +134,7 @@ namespace Umbraco.Core /// A factory. public static void SetCultureDictionaryFactory(this Composition composition, ICultureDictionaryFactory factory) { - composition.RegisterUnique(_ => factory); + composition.Services.AddUnique(_ => factory); } /// @@ -142,9 +143,9 @@ namespace Umbraco.Core /// The type of the factory. /// The composition. public static void SetPublishedContentModelFactory(this Composition composition) - where T : IPublishedModelFactory + where T : class, IPublishedModelFactory { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -152,9 +153,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a published content model factory. - public static void SetPublishedContentModelFactory(this Composition composition, Func factory) + public static void SetPublishedContentModelFactory(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -164,7 +165,7 @@ namespace Umbraco.Core /// A published content model factory. public static void SetPublishedContentModelFactory(this Composition composition, IPublishedModelFactory factory) { - composition.RegisterUnique(_ => factory); + composition.Services.AddUnique(_ => factory); } /// @@ -173,9 +174,9 @@ namespace Umbraco.Core /// The type of the server registrar. /// The composition. public static void SetServerRegistrar(this Composition composition) - where T : IServerRegistrar + where T : class, IServerRegistrar { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -183,9 +184,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a server registrar. - public static void SetServerRegistrar(this Composition composition, Func factory) + public static void SetServerRegistrar(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -195,7 +196,7 @@ namespace Umbraco.Core /// A server registrar. public static void SetServerRegistrar(this Composition composition, IServerRegistrar registrar) { - composition.RegisterUnique(_ => registrar); + composition.Services.AddUnique(_ => registrar); } /// @@ -204,9 +205,9 @@ namespace Umbraco.Core /// The type of the server registrar. /// The composition. public static void SetServerMessenger(this Composition composition) - where T : IServerMessenger + where T : class, IServerMessenger { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -214,9 +215,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a server messenger. - public static void SetServerMessenger(this Composition composition, Func factory) + public static void SetServerMessenger(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -226,7 +227,7 @@ namespace Umbraco.Core /// A server messenger. public static void SetServerMessenger(this Composition composition, IServerMessenger registrar) { - composition.RegisterUnique(_ => registrar); + composition.Services.AddUnique(_ => registrar); } /// @@ -235,9 +236,9 @@ namespace Umbraco.Core /// The composition. /// A function creating the options. /// Use DatabaseServerRegistrarAndMessengerComposer.GetDefaultOptions to get the options that Umbraco would use by default. - public static void SetDatabaseServerMessengerOptions(this Composition composition, Func factory) + public static void SetDatabaseServerMessengerCallbacks(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -246,9 +247,9 @@ namespace Umbraco.Core /// The composition. /// Options. /// Use DatabaseServerRegistrarAndMessengerComposer.GetDefaultOptions to get the options that Umbraco would use by default. - public static void SetDatabaseServerMessengerOptions(this Composition composition, DatabaseServerMessengerOptions options) + public static void SetDatabaseServerMessengerOptions(this Composition composition, DatabaseServerMessengerCallbacks options) { - composition.RegisterUnique(_ => options); + composition.Services.AddUnique(_ => options); } /// @@ -257,9 +258,9 @@ namespace Umbraco.Core /// The type of the short string helper. /// The composition. public static void SetShortStringHelper(this Composition composition) - where T : IShortStringHelper + where T : class, IShortStringHelper { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -267,9 +268,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a short string helper. - public static void SetShortStringHelper(this Composition composition, Func factory) + public static void SetShortStringHelper(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -279,18 +280,33 @@ namespace Umbraco.Core /// A short string helper. public static void SetShortStringHelper(this Composition composition, IShortStringHelper helper) { - composition.RegisterUnique(_ => helper); + composition.Services.AddUnique(_ => helper); } + /// + /// Sets the underlying media filesystem. + /// + /// A composition. + /// A filesystem factory. + /// + /// Using this helper will ensure that your IFileSystem implementation is wrapped by the ShadowWrapper + /// + public static void SetMediaFileSystem(this Composition composition, Func filesystemFactory) + => composition.Services.AddUnique(factory => + { + var fileSystems = factory.GetRequiredService(); + return fileSystems.GetFileSystem(filesystemFactory(factory)); + }); + /// /// Sets the log viewer. /// /// The type of the log viewer. /// The composition. public static void SetLogViewer(this Composition composition) - where T : ILogViewer + where T : class, ILogViewer { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -298,9 +314,9 @@ namespace Umbraco.Core /// /// The composition. /// A function creating a log viewer. - public static void SetLogViewer(this Composition composition, Func factory) + public static void SetLogViewer(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -310,7 +326,7 @@ namespace Umbraco.Core /// A log viewer. public static void SetLogViewer(this Composition composition, ILogViewer viewer) { - composition.RegisterUnique(_ => viewer); + composition.Services.AddUnique(_ => viewer); } #endregion diff --git a/src/Umbraco.Infrastructure/CompositionExtensions_Essentials.cs b/src/Umbraco.Infrastructure/CompositionExtensions_Essentials.cs deleted file mode 100644 index a7e7981daf..0000000000 --- a/src/Umbraco.Infrastructure/CompositionExtensions_Essentials.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Microsoft.Extensions.Logging; -using Umbraco.Core.Cache; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; -using Umbraco.Core.Hosting; -using Umbraco.Core.IO; -using Umbraco.Core.Logging; -using Umbraco.Core.Persistence; - -namespace Umbraco.Core -{ - /// - /// Provides extension methods to the class. - /// - public static partial class CompositionExtensions - { - /// - /// Registers essential services. - /// - /// - /// These services are all either created by the runtime or used to construct the runtime - /// - public static void RegisterEssentials(this Composition composition, - // TODO: Configs should be here too, the reason is that we only register them before the Core Runtime in aspnetcore - // then we pre-resolve them which means that the instance re-resolved later is different... BUT if we register that - // pre-resolved instance here again, then it will be the same instance re-resolved later, just like we are doing with - // IDbProviderFactoryCreator. - ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IProfilingLogger profilingLogger, - IMainDom mainDom, - AppCaches appCaches, - IUmbracoDatabaseFactory databaseFactory, - TypeLoader typeLoader, - IRuntimeState state, - ITypeFinder typeFinder, - IIOHelper ioHelper, - IUmbracoVersion umbracoVersion, - IDbProviderFactoryCreator dbProviderFactoryCreator, - IHostingEnvironment hostingEnvironment, - IBackOfficeInfo backOfficeInfo) - { - composition.RegisterUnique(logger); - composition.RegisterUnique(loggerFactory); - composition.RegisterUnique(profiler); - composition.RegisterUnique(profilingLogger); - composition.RegisterUnique(mainDom); - composition.RegisterUnique(appCaches); - composition.RegisterUnique(appCaches.RequestCache); - composition.RegisterUnique(databaseFactory); - composition.RegisterUnique(factory => factory.GetInstance().SqlContext); - composition.RegisterUnique(typeLoader); - composition.RegisterUnique(state); - composition.RegisterUnique(typeFinder); - composition.RegisterUnique(ioHelper); - composition.RegisterUnique(umbracoVersion); - composition.RegisterUnique(dbProviderFactoryCreator); - composition.RegisterUnique(factory => factory.GetInstance().BulkSqlInsertProvider); - composition.RegisterUnique(hostingEnvironment); - composition.RegisterUnique(backOfficeInfo); - } - } -} diff --git a/src/Umbraco.Infrastructure/Configuration/Extensions/HealthCheckSettingsExtensions.cs b/src/Umbraco.Infrastructure/Configuration/Extensions/HealthCheckSettingsExtensions.cs new file mode 100644 index 0000000000..92c3608ac1 --- /dev/null +++ b/src/Umbraco.Infrastructure/Configuration/Extensions/HealthCheckSettingsExtensions.cs @@ -0,0 +1,29 @@ +using System; +using NCrontab; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; + +namespace Umbraco.Infrastructure.Configuration.Extensions +{ + public static class HealthCheckSettingsExtensions + { + public static TimeSpan GetNotificationDelay(this HealthChecksSettings settings, ICronTabParser cronTabParser, DateTime now, TimeSpan defaultDelay) + { + // If first run time not set, start with just small delay after application start. + var firstRunTime = settings.Notification.FirstRunTime; + if (string.IsNullOrEmpty(firstRunTime)) + { + return defaultDelay; + } + else + { + // Otherwise start at scheduled time according to cron expression, unless within the default delay period. + var firstRunOccurance = cronTabParser.GetNextOccurrence(firstRunTime, now); + var delay = firstRunOccurance - now; + return delay < defaultDelay + ? defaultDelay + : delay; + } + } + } +} diff --git a/src/Umbraco.Infrastructure/Configuration/NCronTabParser.cs b/src/Umbraco.Infrastructure/Configuration/NCronTabParser.cs new file mode 100644 index 0000000000..5642c882e6 --- /dev/null +++ b/src/Umbraco.Infrastructure/Configuration/NCronTabParser.cs @@ -0,0 +1,24 @@ +using System; +using NCrontab; + +namespace Umbraco.Core.Configuration +{ + + public class NCronTabParser : ICronTabParser + { + public bool IsValidCronTab(string cronTab) + { + var result = CrontabSchedule.TryParse(cronTab); + + return !(result is null); + } + + public DateTime GetNextOccurrence(string cronTab, DateTime time) + { + var result = CrontabSchedule.Parse(cronTab); + + return result.GetNextOccurrence(time); + } + } + +} diff --git a/src/Umbraco.Infrastructure/EmailSender.cs b/src/Umbraco.Infrastructure/EmailSender.cs index 6b83a3f3c7..539adcb971 100644 --- a/src/Umbraco.Infrastructure/EmailSender.cs +++ b/src/Umbraco.Infrastructure/EmailSender.cs @@ -1,6 +1,7 @@ using System; using System.Net.Mail; using System.Threading.Tasks; +using MailKit.Security; using Microsoft.Extensions.Options; using MimeKit; using MimeKit.Text; @@ -46,15 +47,15 @@ namespace Umbraco.Core { OnSendEmail(new SendEmailEventArgs(message)); } - else + else if (_smtpConfigured.Value == true) { using (var client = new SmtpClient()) { + client.Connect(_globalSettings.Smtp.Host, + _globalSettings.Smtp.Port, + (MailKit.Security.SecureSocketOptions)(int)_globalSettings.Smtp.SecureSocketOptions); - client.Connect(_globalSettings.Smtp.Host, _globalSettings.Smtp.Port); - - if (!(_globalSettings.Smtp.Username is null && - _globalSettings.Smtp.Password is null)) + if (!(_globalSettings.Smtp.Username is null && _globalSettings.Smtp.Password is null)) { client.Authenticate(_globalSettings.Smtp.Username, _globalSettings.Smtp.Password); } @@ -76,14 +77,15 @@ namespace Umbraco.Core { OnSendEmail(new SendEmailEventArgs(message)); } - else + else if (_smtpConfigured.Value == true) { using (var client = new SmtpClient()) { - await client.ConnectAsync(_globalSettings.Smtp.Host, _globalSettings.Smtp.Port); + await client.ConnectAsync(_globalSettings.Smtp.Host, + _globalSettings.Smtp.Port, + (MailKit.Security.SecureSocketOptions)(int)_globalSettings.Smtp.SecureSocketOptions); - if (!(_globalSettings.Smtp.Username is null && - _globalSettings.Smtp.Password is null)) + if (!(_globalSettings.Smtp.Username is null && _globalSettings.Smtp.Password is null)) { await client.AuthenticateAsync(_globalSettings.Smtp.Username, _globalSettings.Smtp.Password); } @@ -126,8 +128,7 @@ namespace Umbraco.Core private static void OnSendEmail(SendEmailEventArgs e) { - var handler = SendEmail; - if (handler != null) handler(null, e); + SendEmail?.Invoke(null, e); } private MimeMessage ConstructEmailMessage(EmailMessage mailMessage) @@ -139,10 +140,10 @@ namespace Umbraco.Core var messageToSend = new MimeMessage { Subject = mailMessage.Subject, - From = { new MailboxAddress(fromEmail)}, + From = { MailboxAddress.Parse(fromEmail) }, Body = new TextPart(mailMessage.IsBodyHtml ? TextFormat.Html : TextFormat.Plain) { Text = mailMessage.Body } }; - messageToSend.To.Add(new MailboxAddress(mailMessage.To)); + messageToSend.To.Add(MailboxAddress.Parse(mailMessage.To)); return messageToSend; } diff --git a/src/Umbraco.Infrastructure/Events/QueuingEventDispatcher.cs b/src/Umbraco.Infrastructure/Events/QueuingEventDispatcher.cs index 6260aaa176..d9adf93eb5 100644 --- a/src/Umbraco.Infrastructure/Events/QueuingEventDispatcher.cs +++ b/src/Umbraco.Infrastructure/Events/QueuingEventDispatcher.cs @@ -1,5 +1,4 @@ -using Umbraco.Composing; -using Umbraco.Core.Composing; +using Umbraco.Core.Composing; using Umbraco.Core.IO; namespace Umbraco.Core.Events diff --git a/src/Umbraco.Infrastructure/HealthCheck/HealthCheckResults.cs b/src/Umbraco.Infrastructure/HealthCheck/HealthCheckResults.cs index 1561645be9..37159b4a49 100644 --- a/src/Umbraco.Infrastructure/HealthCheck/HealthCheckResults.cs +++ b/src/Umbraco.Infrastructure/HealthCheck/HealthCheckResults.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using HeyRed.MarkdownSharp; using Microsoft.Extensions.Logging; -using Umbraco.Composing; +using Umbraco.Core; using Umbraco.Core.HealthCheck; namespace Umbraco.Infrastructure.HealthCheck @@ -14,7 +14,7 @@ namespace Umbraco.Infrastructure.HealthCheck private readonly Dictionary> _results; public readonly bool AllChecksSuccessful; - private ILogger Logger => Current.Logger; // TODO: inject + private ILogger Logger => StaticApplicationLogging.Logger; // TODO: inject public HealthCheckResults(IEnumerable checks) { @@ -128,11 +128,17 @@ namespace Umbraco.Infrastructure.HealthCheck return html; } + internal Dictionary> ResultsAsDictionary => _results; + private string ApplyHtmlHighlighting(string html) { - html = ApplyHtmlHighlightingForStatus(html, StatusResultType.Success, "5cb85c"); - html = ApplyHtmlHighlightingForStatus(html, StatusResultType.Warning, "f0ad4e"); - return ApplyHtmlHighlightingForStatus(html, StatusResultType.Error, "d9534f"); + const string SuccessHexColor = "5cb85c"; + const string WarningHexColor = "f0ad4e"; + const string ErrorHexColor = "d9534f"; + + html = ApplyHtmlHighlightingForStatus(html, StatusResultType.Success, SuccessHexColor); + html = ApplyHtmlHighlightingForStatus(html, StatusResultType.Warning, WarningHexColor); + return ApplyHtmlHighlightingForStatus(html, StatusResultType.Error, ErrorHexColor); } private string ApplyHtmlHighlightingForStatus(string html, StatusResultType status, string color) diff --git a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/EmailNotificationMethod.cs b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/EmailNotificationMethod.cs index 1d829d998a..4d7444447f 100644 --- a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/EmailNotificationMethod.cs +++ b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/EmailNotificationMethod.cs @@ -28,7 +28,7 @@ namespace Umbraco.Web.HealthCheck.NotificationMethods IOptions contentSettings) : base(healthChecksSettings) { - var recipientEmail = Settings?["recipientEmail"]?.Value; + var recipientEmail = Settings?["RecipientEmail"]; if (string.IsNullOrWhiteSpace(recipientEmail)) { Enabled = false; @@ -45,7 +45,7 @@ namespace Umbraco.Web.HealthCheck.NotificationMethods public string RecipientEmail { get; } - public override async Task SendAsync(HealthCheckResults results, CancellationToken token) + public override async Task SendAsync(HealthCheckResults results) { if (ShouldSend(results) == false) { diff --git a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/IHealthCheckNotificationMethod.cs b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/IHealthCheckNotificationMethod.cs index fdf72251be..77614c41e3 100644 --- a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/IHealthCheckNotificationMethod.cs +++ b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/IHealthCheckNotificationMethod.cs @@ -8,6 +8,7 @@ namespace Umbraco.Web.HealthCheck.NotificationMethods public interface IHealthCheckNotificationMethod : IDiscoverable { bool Enabled { get; } - Task SendAsync(HealthCheckResults results, CancellationToken token); + + Task SendAsync(HealthCheckResults results); } } diff --git a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/NotificationMethodBase.cs b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/NotificationMethodBase.cs index 39025df2ab..eeb8452492 100644 --- a/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/NotificationMethodBase.cs +++ b/src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/NotificationMethodBase.cs @@ -1,11 +1,9 @@ using System.Collections.Generic; using System.Reflection; -using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Options; using Umbraco.Core.Configuration.Models; using Umbraco.Core.HealthCheck; -using Umbraco.Core.HealthCheck.Checks; using Umbraco.Infrastructure.HealthCheck; namespace Umbraco.Web.HealthCheck.NotificationMethods @@ -22,8 +20,8 @@ namespace Umbraco.Web.HealthCheck.NotificationMethods return; } - var notificationMethods = healthCheckSettings.Value.NotificationSettings.NotificationMethods; - if(!notificationMethods.TryGetValue(attribute.Alias, out var notificationMethod)) + var notificationMethods = healthCheckSettings.Value.Notification.NotificationMethods; + if (!notificationMethods.TryGetValue(attribute.Alias, out var notificationMethod)) { Enabled = false; return; @@ -41,13 +39,13 @@ namespace Umbraco.Web.HealthCheck.NotificationMethods public HealthCheckNotificationVerbosity Verbosity { get; protected set; } - public IReadOnlyDictionary Settings { get; } + public IDictionary Settings { get; } protected bool ShouldSend(HealthCheckResults results) { return Enabled && (!FailureOnly || !results.AllChecksSuccessful); } - public abstract Task SendAsync(HealthCheckResults results, CancellationToken token); + public abstract Task SendAsync(HealthCheckResults results); } } diff --git a/src/Umbraco.Infrastructure/Scheduling/HealthCheckNotifier.cs b/src/Umbraco.Infrastructure/HostedServices/HealthCheckNotifier.cs similarity index 66% rename from src/Umbraco.Infrastructure/Scheduling/HealthCheckNotifier.cs rename to src/Umbraco.Infrastructure/HostedServices/HealthCheckNotifier.cs index 33eff2c949..58decb80c4 100644 --- a/src/Umbraco.Infrastructure/Scheduling/HealthCheckNotifier.cs +++ b/src/Umbraco.Infrastructure/HostedServices/HealthCheckNotifier.cs @@ -1,77 +1,88 @@ -using System.Linq; -using System.Threading; +using System; +using System.Linq; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Umbraco.Core; +using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.HealthCheck; using Umbraco.Core.Logging; using Umbraco.Core.Scoping; using Umbraco.Core.Sync; -using Umbraco.Web.HealthCheck; -using Microsoft.Extensions.Logging; +using Umbraco.Infrastructure.Configuration.Extensions; using Umbraco.Infrastructure.HealthCheck; +using Umbraco.Web.HealthCheck; -namespace Umbraco.Web.Scheduling +namespace Umbraco.Infrastructure.HostedServices { - public class HealthCheckNotifier : RecurringTaskBase + /// + /// Hosted service implementation for recurring health check notifications. + /// + public class HealthCheckNotifier : RecurringHostedServiceBase { - private readonly IMainDom _mainDom; + private readonly HealthChecksSettings _healthChecksSettings; private readonly HealthCheckCollection _healthChecks; private readonly HealthCheckNotificationMethodCollection _notifications; - private readonly IScopeProvider _scopeProvider; - private readonly IProfilingLogger _profilingLogger; - private readonly ILogger _logger; - private readonly HealthChecksSettings _healthChecksSettings; - private readonly IServerRegistrar _serverRegistrar; private readonly IRuntimeState _runtimeState; + private readonly IServerRegistrar _serverRegistrar; + private readonly IMainDom _mainDom; + private readonly IScopeProvider _scopeProvider; + private readonly ILogger _logger; + private readonly IProfilingLogger _profilingLogger; public HealthCheckNotifier( - IBackgroundTaskRunner runner, - int delayMilliseconds, - int periodMilliseconds, + IOptions healthChecksSettings, HealthCheckCollection healthChecks, HealthCheckNotificationMethodCollection notifications, - IMainDom mainDom, - IProfilingLogger profilingLogger , - ILogger logger, - HealthChecksSettings healthChecksSettings, - IServerRegistrar serverRegistrar, IRuntimeState runtimeState, - IScopeProvider scopeProvider) - : base(runner, delayMilliseconds, periodMilliseconds) + IServerRegistrar serverRegistrar, + IMainDom mainDom, + IScopeProvider scopeProvider, + ILogger logger, + IProfilingLogger profilingLogger, + ICronTabParser cronTabParser) + : base(healthChecksSettings.Value.Notification.Period, + healthChecksSettings.Value.GetNotificationDelay(cronTabParser, DateTime.Now, DefaultDelay)) { + _healthChecksSettings = healthChecksSettings.Value; _healthChecks = healthChecks; _notifications = notifications; + _runtimeState = runtimeState; + _serverRegistrar = serverRegistrar; _mainDom = mainDom; _scopeProvider = scopeProvider; - _runtimeState = runtimeState; - _profilingLogger = profilingLogger ; _logger = logger; - _healthChecksSettings = healthChecksSettings; - _serverRegistrar = serverRegistrar; - _runtimeState = runtimeState; + _profilingLogger = profilingLogger; } - public override async Task PerformRunAsync(CancellationToken token) + internal override async Task PerformExecuteAsync(object state) { + if (_healthChecksSettings.Notification.Enabled == false) + { + return; + } + if (_runtimeState.Level != RuntimeLevel.Run) - return true; // repeat... + { + return; + } switch (_serverRegistrar.GetCurrentServerRole()) { case ServerRole.Replica: _logger.LogDebug("Does not run on replica servers."); - return true; // DO repeat, server role can change + return; case ServerRole.Unknown: _logger.LogDebug("Does not run on servers with unknown role."); - return true; // DO repeat, server role can change + return; } - // ensure we do not run if not main domain, but do NOT lock it + // Ensure we do not run if not main domain, but do NOT lock it if (_mainDom.IsMainDom == false) { _logger.LogDebug("Does not run if not MainDom."); - return false; // do NOT repeat, going down + return; } // Ensure we use an explicit scope since we are running on a background thread and plugin health @@ -80,13 +91,10 @@ namespace Umbraco.Web.Scheduling using (var scope = _scopeProvider.CreateScope()) using (_profilingLogger.DebugDuration("Health checks executing", "Health checks complete")) { - var healthCheckConfig = _healthChecksSettings; - - // Don't notify for any checks that are disabled, nor for any disabled - // just for notifications - var disabledCheckIds = healthCheckConfig.NotificationSettings.DisabledChecks + // Don't notify for any checks that are disabled, nor for any disabled just for notifications. + var disabledCheckIds = _healthChecksSettings.Notification.DisabledChecks .Select(x => x.Id) - .Union(healthCheckConfig.DisabledChecks + .Union(_healthChecksSettings.DisabledChecks .Select(x => x.Id)) .Distinct() .ToArray(); @@ -97,14 +105,12 @@ namespace Umbraco.Web.Scheduling var results = new HealthCheckResults(checks); results.LogResults(); - // Send using registered notification methods that are enabled + // Send using registered notification methods that are enabled. foreach (var notificationMethod in _notifications.Where(x => x.Enabled)) - await notificationMethod.SendAsync(results, token); + { + await notificationMethod.SendAsync(results); + } } - - return true; // repeat } - - public override bool IsAsync => true; } } diff --git a/src/Umbraco.Core/Scheduling/KeepAlive.cs b/src/Umbraco.Infrastructure/HostedServices/KeepAlive.cs similarity index 67% rename from src/Umbraco.Core/Scheduling/KeepAlive.cs rename to src/Umbraco.Infrastructure/HostedServices/KeepAlive.cs index 9b09a81cc3..39ac0f3d87 100644 --- a/src/Umbraco.Core/Scheduling/KeepAlive.cs +++ b/src/Umbraco.Infrastructure/HostedServices/KeepAlive.cs @@ -1,17 +1,20 @@ using System; using System.Net.Http; -using System.Threading; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Core; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Logging; using Umbraco.Core.Sync; -using Microsoft.Extensions.Logging; +using Umbraco.Web; -namespace Umbraco.Web.Scheduling +namespace Umbraco.Infrastructure.HostedServices { - public class KeepAlive : RecurringTaskBase + /// + /// Hosted service implementation for keep alive feature. + /// + public class KeepAlive : RecurringHostedServiceBase { private readonly IRequestAccessor _requestAccessor; private readonly IMainDom _mainDom; @@ -19,11 +22,10 @@ namespace Umbraco.Web.Scheduling private readonly ILogger _logger; private readonly IProfilingLogger _profilingLogger; private readonly IServerRegistrar _serverRegistrar; - private static HttpClient _httpClient; + private readonly IHttpClientFactory _httpClientFactory; - public KeepAlive(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IRequestAccessor requestAccessor, IMainDom mainDom, IOptions keepAliveSettings, ILogger logger, IProfilingLogger profilingLogger, IServerRegistrar serverRegistrar) - : base(runner, delayMilliseconds, periodMilliseconds) + public KeepAlive(IRequestAccessor requestAccessor, IMainDom mainDom, IOptions keepAliveSettings, ILogger logger, IProfilingLogger profilingLogger, IServerRegistrar serverRegistrar, IHttpClientFactory httpClientFactory) + : base(TimeSpan.FromMinutes(5), DefaultDelay) { _requestAccessor = requestAccessor; _mainDom = mainDom; @@ -31,30 +33,32 @@ namespace Umbraco.Web.Scheduling _logger = logger; _profilingLogger = profilingLogger; _serverRegistrar = serverRegistrar; - if (_httpClient == null) - { - _httpClient = new HttpClient(); - } + _httpClientFactory = httpClientFactory; } - public override async Task PerformRunAsync(CancellationToken token) + internal override async Task PerformExecuteAsync(object state) { - // not on replicas nor unknown role servers + if (_keepAliveSettings.DisableKeepAliveTask) + { + return; + } + + // Don't run on replicas nor unknown role servers switch (_serverRegistrar.GetCurrentServerRole()) { case ServerRole.Replica: _logger.LogDebug("Does not run on replica servers."); - return true; // role may change! + return; case ServerRole.Unknown: _logger.LogDebug("Does not run on servers with unknown role."); - return true; // role may change! + return; } - // ensure we do not run if not main domain, but do NOT lock it + // Ensure we do not run if not main domain, but do NOT lock it if (_mainDom.IsMainDom == false) { _logger.LogDebug("Does not run if not MainDom."); - return false; // do NOT repeat, going down + return; } using (_profilingLogger.DebugDuration("Keep alive executing", "Keep alive complete")) @@ -68,24 +72,21 @@ namespace Umbraco.Web.Scheduling if (umbracoAppUrl.IsNullOrWhiteSpace()) { _logger.LogWarning("No umbracoApplicationUrl for service (yet), skip."); - return true; // repeat + return; } keepAlivePingUrl = keepAlivePingUrl.Replace("{umbracoApplicationUrl}", umbracoAppUrl.TrimEnd('/')); } var request = new HttpRequestMessage(HttpMethod.Get, keepAlivePingUrl); - var result = await _httpClient.SendAsync(request, token); + var httpClient = _httpClientFactory.CreateClient(); + await httpClient.SendAsync(request); } catch (Exception ex) { _logger.LogError(ex, "Keep alive failed (at '{keepAlivePingUrl}').", keepAlivePingUrl); } } - - return true; // repeat } - - public override bool IsAsync => true; } } diff --git a/src/Umbraco.Infrastructure/HostedServices/LogScrubber.cs b/src/Umbraco.Infrastructure/HostedServices/LogScrubber.cs new file mode 100644 index 0000000000..1cf2da05f9 --- /dev/null +++ b/src/Umbraco.Infrastructure/HostedServices/LogScrubber.cs @@ -0,0 +1,70 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Logging; +using Umbraco.Core.Scoping; +using Umbraco.Core.Services; +using Umbraco.Core.Sync; + +namespace Umbraco.Infrastructure.HostedServices +{ + /// + /// Log scrubbing hosted service. + /// + /// + /// Will only run on non-replica servers. + /// + public class LogScrubber : RecurringHostedServiceBase + { + private readonly IMainDom _mainDom; + private readonly IServerRegistrar _serverRegistrar; + private readonly IAuditService _auditService; + private readonly LoggingSettings _settings; + private readonly IProfilingLogger _profilingLogger; + private readonly ILogger _logger; + private readonly IScopeProvider _scopeProvider; + + public LogScrubber(IMainDom mainDom, IServerRegistrar serverRegistrar, IAuditService auditService, IOptions settings, IScopeProvider scopeProvider, ILogger logger, IProfilingLogger profilingLogger) + : base(TimeSpan.FromHours(4), DefaultDelay) + { + _mainDom = mainDom; + _serverRegistrar = serverRegistrar; + _auditService = auditService; + _settings = settings.Value; + _scopeProvider = scopeProvider; + _logger = logger; + _profilingLogger = profilingLogger; + } + + internal override async Task PerformExecuteAsync(object state) + { + switch (_serverRegistrar.GetCurrentServerRole()) + { + case ServerRole.Replica: + _logger.LogDebug("Does not run on replica servers."); + return; + case ServerRole.Unknown: + _logger.LogDebug("Does not run on servers with unknown role."); + return; + } + + // Ensure we do not run if not main domain, but do NOT lock it + if (_mainDom.IsMainDom == false) + { + _logger.LogDebug("Does not run if not MainDom."); + return; + } + + // Ensure we use an explicit scope since we are running on a background thread. + using (var scope = _scopeProvider.CreateScope()) + using (_profilingLogger.DebugDuration("Log scrubbing executing", "Log scrubbing complete")) + { + _auditService.CleanLogs((int)_settings.MaxLogAge.TotalMinutes); + scope.Complete(); + } + } + } +} diff --git a/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs b/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs new file mode 100644 index 0000000000..ee77326115 --- /dev/null +++ b/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs @@ -0,0 +1,56 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Hosting; + +namespace Umbraco.Infrastructure.HostedServices +{ + /// + /// Provides a base class for recurring background tasks implemented as hosted services. + /// + /// + /// See: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-3.1&tabs=visual-studio#timed-background-tasks + /// + public abstract class RecurringHostedServiceBase : IHostedService, IDisposable + { + protected static readonly TimeSpan DefaultDelay = TimeSpan.FromMinutes(3); + + private readonly TimeSpan _period; + private readonly TimeSpan _delay; + private Timer _timer; + + protected RecurringHostedServiceBase(TimeSpan period, TimeSpan delay) + { + _period = period; + _delay = delay; + } + + public Task StartAsync(CancellationToken cancellationToken) + { + _timer = new Timer(ExecuteAsync, null, (int)_delay.TotalMilliseconds, (int)_period.TotalMilliseconds); + return Task.CompletedTask; + } + + public async void ExecuteAsync(object state) + { + // Delegate work to method returning a task, that can be called and asserted in a unit test. + // Without this there can be behaviour where tests pass, but an error within them causes the test + // running process to crash. + // Hat-tip: https://stackoverflow.com/a/14207615/489433 + await PerformExecuteAsync(state); + } + + internal abstract Task PerformExecuteAsync(object state); + + public Task StopAsync(CancellationToken cancellationToken) + { + _timer?.Change(Timeout.Infinite, 0); + return Task.CompletedTask; + } + + public void Dispose() + { + _timer?.Dispose(); + } + } +} diff --git a/src/Umbraco.Infrastructure/Scheduling/ScheduledPublishing.cs b/src/Umbraco.Infrastructure/HostedServices/ScheduledPublishing.cs similarity index 66% rename from src/Umbraco.Infrastructure/Scheduling/ScheduledPublishing.cs rename to src/Umbraco.Infrastructure/HostedServices/ScheduledPublishing.cs index 9a7f40cdaa..f48e64ad2d 100644 --- a/src/Umbraco.Infrastructure/Scheduling/ScheduledPublishing.cs +++ b/src/Umbraco.Infrastructure/HostedServices/ScheduledPublishing.cs @@ -1,13 +1,20 @@ using System; using System.Linq; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Services; using Umbraco.Core.Sync; -using Microsoft.Extensions.Logging; +using Umbraco.Web; -namespace Umbraco.Web.Scheduling +namespace Umbraco.Infrastructure.HostedServices { - public class ScheduledPublishing : RecurringTaskBase + /// + /// Hosted service implementation for scheduled publishing feature. + /// + /// + /// Runs only on non-replica servers. + public class ScheduledPublishing : RecurringHostedServiceBase { private readonly IContentService _contentService; private readonly ILogger _logger; @@ -18,11 +25,10 @@ namespace Umbraco.Web.Scheduling private readonly IServerRegistrar _serverRegistrar; private readonly IUmbracoContextFactory _umbracoContextFactory; - public ScheduledPublishing(IBackgroundTaskRunner runner, int delayMilliseconds, - int periodMilliseconds, + public ScheduledPublishing( IRuntimeState runtime, IMainDom mainDom, IServerRegistrar serverRegistrar, IContentService contentService, IUmbracoContextFactory umbracoContextFactory, ILogger logger, IServerMessenger serverMessenger, IBackOfficeSecurityFactory backofficeSecurityFactory) - : base(runner, delayMilliseconds, periodMilliseconds) + : base(TimeSpan.FromMinutes(1), DefaultDelay) { _runtime = runtime; _mainDom = mainDom; @@ -34,35 +40,35 @@ namespace Umbraco.Web.Scheduling _backofficeSecurityFactory = backofficeSecurityFactory; } - public override bool IsAsync => false; - - public override bool PerformRun() + internal override async Task PerformExecuteAsync(object state) { if (Suspendable.ScheduledPublishing.CanRun == false) - return true; // repeat, later + { + return; + } switch (_serverRegistrar.GetCurrentServerRole()) { case ServerRole.Replica: _logger.LogDebug("Does not run on replica servers."); - return true; // DO repeat, server role can change + return; case ServerRole.Unknown: _logger.LogDebug("Does not run on servers with unknown role."); - return true; // DO repeat, server role can change + return; } - // ensure we do not run if not main domain, but do NOT lock it + // Ensure we do not run if not main domain, but do NOT lock it if (_mainDom.IsMainDom == false) { _logger.LogDebug("Does not run if not MainDom."); - return false; // do NOT repeat, going down + return; } - // do NOT run publishing if not properly running + // Do NOT run publishing if not properly running if (_runtime.Level != RuntimeLevel.Run) { _logger.LogDebug("Does not run if run level is not Run."); - return true; // repeat/wait + return; } try @@ -79,22 +85,24 @@ namespace Umbraco.Web.Scheduling // - and we should definitively *not* have to flush it here (should be auto) // _backofficeSecurityFactory.EnsureBackOfficeSecurity(); - using (var contextReference = _umbracoContextFactory.EnsureUmbracoContext()) + using var contextReference = _umbracoContextFactory.EnsureUmbracoContext(); + try { - try + // Run + var result = _contentService.PerformScheduledPublish(DateTime.Now); + foreach (var grouped in result.GroupBy(x => x.Result)) { - // run - var result = _contentService.PerformScheduledPublish(DateTime.Now); - foreach (var grouped in result.GroupBy(x => x.Result)) - _logger.LogInformation( - "Scheduled publishing result: '{StatusCount}' items with status {Status}", - grouped.Count(), grouped.Key); + _logger.LogInformation( + "Scheduled publishing result: '{StatusCount}' items with status {Status}", + grouped.Count(), grouped.Key); } - finally + } + finally + { + // If running on a temp context, we have to flush the messenger + if (contextReference.IsRoot && _serverMessenger is IBatchedDatabaseServerMessenger m) { - // if running on a temp context, we have to flush the messenger - if (contextReference.IsRoot && _serverMessenger is IBatchedDatabaseServerMessenger m) - m.FlushBatch(); + m.FlushBatch(); } } } @@ -104,7 +112,7 @@ namespace Umbraco.Web.Scheduling _logger.LogError(ex, "Failed."); } - return true; // repeat + return; } } } diff --git a/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTask.cs b/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTask.cs new file mode 100644 index 0000000000..8d669178b0 --- /dev/null +++ b/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTask.cs @@ -0,0 +1,48 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Sync; + +namespace Umbraco.Infrastructure.HostedServices.ServerRegistration +{ + /// + /// Implements periodic database instruction processing as a hosted service. + /// + public class InstructionProcessTask : RecurringHostedServiceBase + { + private readonly IRuntimeState _runtimeState; + private readonly IDatabaseServerMessenger _messenger; + private readonly ILogger _logger; + + /// + /// Initializes a new instance of the class. + /// + public InstructionProcessTask(IRuntimeState runtimeState, IServerMessenger messenger, ILogger logger, IOptions globalSettings) + : base(globalSettings.Value.DatabaseServerMessenger.TimeBetweenSyncOperations, TimeSpan.FromMinutes(1)) + { + _runtimeState = runtimeState; + _messenger = messenger as IDatabaseServerMessenger ?? throw new ArgumentNullException(nameof(messenger)); + _logger = logger; + } + + internal override async Task PerformExecuteAsync(object state) + { + if (_runtimeState.Level != RuntimeLevel.Run) + { + return; + } + + try + { + _messenger.Sync(); + } + catch (Exception e) + { + _logger.LogError(e, "Failed (will repeat)."); + } + } + } +} diff --git a/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTask.cs b/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTask.cs new file mode 100644 index 0000000000..0384a071c6 --- /dev/null +++ b/src/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTask.cs @@ -0,0 +1,62 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Services; +using Umbraco.Web; + +namespace Umbraco.Infrastructure.HostedServices.ServerRegistration +{ + /// + /// Implements periodic server "touching" (to mark as active/deactive) as a hosted service. + /// + public class TouchServerTask : RecurringHostedServiceBase + { + private readonly IRuntimeState _runtimeState; + private readonly IServerRegistrationService _serverRegistrationService; + private readonly IRequestAccessor _requestAccessor; + private readonly ILogger _logger; + private GlobalSettings _globalSettings; + + /// + /// Initializes a new instance of the class. + /// + public TouchServerTask(IRuntimeState runtimeState, IServerRegistrationService serverRegistrationService, IRequestAccessor requestAccessor, ILogger logger, IOptions globalSettings) + : base(globalSettings.Value.DatabaseServerRegistrar.WaitTimeBetweenCalls, TimeSpan.FromSeconds(15)) + { + _runtimeState = runtimeState; + _serverRegistrationService = serverRegistrationService ?? throw new ArgumentNullException(nameof(serverRegistrationService)); + _requestAccessor = requestAccessor; + _logger = logger; + _globalSettings = globalSettings.Value; + } + + internal override async Task PerformExecuteAsync(object state) + { + if (_runtimeState.Level != RuntimeLevel.Run) + { + return; + } + + var serverAddress = _requestAccessor.GetApplicationUrl()?.ToString(); + if (serverAddress.IsNullOrWhiteSpace()) + { + _logger.LogWarning("No umbracoApplicationUrl for service (yet), skip."); + return; + } + + try + { + // TouchServer uses a proper unit of work etc underneath so even in a + // background task it is safe to call it without dealing with any scope. + _serverRegistrationService.TouchServer(serverAddress, _serverRegistrationService.CurrentServerIdentity, _globalSettings.DatabaseServerRegistrar.StaleServerTimeout); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to update server record in database."); + } + } + } +} diff --git a/src/Umbraco.Infrastructure/HostedServices/TempFileCleanup.cs b/src/Umbraco.Infrastructure/HostedServices/TempFileCleanup.cs new file mode 100644 index 0000000000..e27b83c8f6 --- /dev/null +++ b/src/Umbraco.Infrastructure/HostedServices/TempFileCleanup.cs @@ -0,0 +1,95 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Umbraco.Core; +using Umbraco.Core.IO; + +namespace Umbraco.Infrastructure.HostedServices +{ + /// + /// Used to cleanup temporary file locations. + /// + /// + /// Will run on all servers - even though file upload should only be handled on the master, this will + /// ensure that in the case it happes on replicas that they are cleaned up too. + /// + public class TempFileCleanup : RecurringHostedServiceBase + { + private readonly IIOHelper _ioHelper; + private readonly IMainDom _mainDom; + private readonly ILogger _logger; + + private readonly DirectoryInfo[] _tempFolders; + private readonly TimeSpan _age = TimeSpan.FromDays(1); + + public TempFileCleanup(IIOHelper ioHelper, IMainDom mainDom, ILogger logger) + : base(TimeSpan.FromMinutes(60), DefaultDelay) + { + _ioHelper = ioHelper; + _mainDom = mainDom; + _logger = logger; + + _tempFolders = _ioHelper.GetTempFolders(); + } + + internal override async Task PerformExecuteAsync(object state) + { + // Ensure we do not run if not main domain + if (_mainDom.IsMainDom == false) + { + _logger.LogDebug("Does not run if not MainDom."); + return; + } + + foreach (var folder in _tempFolders) + { + CleanupFolder(folder); + } + + return; + } + + private void CleanupFolder(DirectoryInfo folder) + { + var result = _ioHelper.CleanFolder(folder, _age); + switch (result.Status) + { + case CleanFolderResultStatus.FailedAsDoesNotExist: + _logger.LogDebug("The cleanup folder doesn't exist {Folder}", folder.FullName); + break; + case CleanFolderResultStatus.FailedWithException: + foreach (var error in result.Errors) + { + _logger.LogError(error.Exception, "Could not delete temp file {FileName}", error.ErroringFile.FullName); + } + + break; + } + + folder.Refresh(); // In case it's changed during runtime + if (!folder.Exists) + { + _logger.LogDebug("The cleanup folder doesn't exist {Folder}", folder.FullName); + return; + } + + var files = folder.GetFiles("*.*", SearchOption.AllDirectories); + foreach (var file in files) + { + if (DateTime.UtcNow - file.LastWriteTimeUtc > _age) + { + try + { + file.IsReadOnly = false; + file.Delete(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Could not delete temp file {FileName}", file.FullName); + } + } + } + } + } +} diff --git a/src/Umbraco.Infrastructure/Logging/Serilog/SerilogComposer.cs b/src/Umbraco.Infrastructure/Logging/Serilog/SerilogComposer.cs index 18b417d428..59c9b47400 100644 --- a/src/Umbraco.Infrastructure/Logging/Serilog/SerilogComposer.cs +++ b/src/Umbraco.Infrastructure/Logging/Serilog/SerilogComposer.cs @@ -12,10 +12,10 @@ namespace Umbraco.Infrastructure.Logging.Serilog { public void Compose(Composition composition) { - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerComposer.cs b/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerComposer.cs index 797e353fcf..6941647dfc 100644 --- a/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerComposer.cs +++ b/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerComposer.cs @@ -1,4 +1,5 @@ using System.IO; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; using Umbraco.Core.Composing; @@ -12,14 +13,14 @@ namespace Umbraco.Core.Logging.Viewer { public void Compose(Composition composition) { - composition.RegisterUnique(); + composition.Services.AddUnique(); composition.SetLogViewer(); - composition.RegisterUnique(factory => + composition.Services.AddUnique(factory => { - return new SerilogJsonLogViewer(factory.GetInstance>(), - factory.GetInstance(), - factory.GetInstance(), + return new SerilogJsonLogViewer(factory.GetRequiredService>(), + factory.GetRequiredService(), + factory.GetRequiredService(), Log.Logger); } ); } diff --git a/src/Umbraco.Infrastructure/Migrations/MigrationBuilder.cs b/src/Umbraco.Infrastructure/Migrations/MigrationBuilder.cs index d2d2b7d32a..9fc5b1b277 100644 --- a/src/Umbraco.Infrastructure/Migrations/MigrationBuilder.cs +++ b/src/Umbraco.Infrastructure/Migrations/MigrationBuilder.cs @@ -5,9 +5,9 @@ namespace Umbraco.Core.Migrations { public class MigrationBuilder : IMigrationBuilder { - private readonly IFactory _container; + private readonly IServiceProvider _container; - public MigrationBuilder(IFactory container) + public MigrationBuilder(IServiceProvider container) { _container = container; } diff --git a/src/Umbraco.Infrastructure/Models/PropertyTagsExtensions.cs b/src/Umbraco.Infrastructure/Models/PropertyTagsExtensions.cs index bea07879fb..f92dfe751b 100644 --- a/src/Umbraco.Infrastructure/Models/PropertyTagsExtensions.cs +++ b/src/Umbraco.Infrastructure/Models/PropertyTagsExtensions.cs @@ -4,7 +4,6 @@ using System.Linq; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Umbraco.Composing; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; @@ -219,7 +218,7 @@ namespace Umbraco.Core.Models } catch (Exception ex) { - Current.Logger.LogWarning(ex, "Could not automatically convert stored json value to an enumerable string '{Json}'", value.ToString()); + StaticApplicationLogging.Logger.LogWarning(ex, "Could not automatically convert stored json value to an enumerable string '{Json}'", value.ToString()); } break; diff --git a/src/Umbraco.Infrastructure/Persistence/DbConnectionExtensions.cs b/src/Umbraco.Infrastructure/Persistence/DbConnectionExtensions.cs index e00288d94c..82832a3627 100644 --- a/src/Umbraco.Infrastructure/Persistence/DbConnectionExtensions.cs +++ b/src/Umbraco.Infrastructure/Persistence/DbConnectionExtensions.cs @@ -5,7 +5,6 @@ using System.Data.SqlClient; using System.Linq; using Microsoft.Extensions.Logging; using StackExchange.Profiling.Data; -using Umbraco.Composing; using Umbraco.Core.Persistence.FaultHandling; namespace Umbraco.Core.Persistence @@ -53,7 +52,7 @@ namespace Umbraco.Core.Persistence catch (DbException e) { // Don't swallow this error, the exception is super handy for knowing "why" its not available - Current.Logger.LogWarning(e, "Configured database is reporting as not being available."); + StaticApplicationLogging.Logger.LogWarning(e, "Configured database is reporting as not being available."); return false; } diff --git a/src/Umbraco.Infrastructure/Persistence/Mappers/MapperCollectionBuilder.cs b/src/Umbraco.Infrastructure/Persistence/Mappers/MapperCollectionBuilder.cs index 66f0c90bfa..b5b295299d 100644 --- a/src/Umbraco.Infrastructure/Persistence/Mappers/MapperCollectionBuilder.cs +++ b/src/Umbraco.Infrastructure/Persistence/Mappers/MapperCollectionBuilder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Concurrent; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Composing; using Umbraco.Infrastructure.Persistence.Mappers; @@ -9,9 +10,9 @@ namespace Umbraco.Core.Persistence.Mappers { protected override MapperCollectionBuilder This => this; - public override void RegisterWith(IRegister register) + public override void RegisterWith(IServiceCollection services) { - base.RegisterWith(register); + base.RegisterWith(services); // default initializer registers // - service MapperCollectionBuilder, returns MapperCollectionBuilder @@ -19,8 +20,8 @@ namespace Umbraco.Core.Persistence.Mappers // we want to register extra // - service IMapperCollection, returns MappersCollectionBuilder's collection - register.Register(Lifetime.Singleton); - register.Register(factory => factory.GetInstance()); + services.AddSingleton(); + services.AddSingleton(factory => factory.GetRequiredService()); } public MapperCollectionBuilder AddCoreMappers() diff --git a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseExtensions.cs b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseExtensions.cs index 4e5c3a113a..714721ef2c 100644 --- a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseExtensions.cs +++ b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseExtensions.cs @@ -1,5 +1,6 @@ using System; using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Runtime; namespace Umbraco.Core.Persistence { @@ -15,7 +16,7 @@ namespace Umbraco.Core.Persistence /// /// Gets a key/value directly from the database, no scope, nothing. /// - /// Used by to determine the runtime state. + /// Used by to determine the runtime state. public static string GetFromKeyValueTable(this IUmbracoDatabase database, string key) { if (database is null) return null; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/DataEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/DataEditor.cs index ebac6a763d..d74f285553 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/DataEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/DataEditor.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Runtime.Serialization; using Microsoft.Extensions.Logging; -using Umbraco.Composing; using Umbraco.Core.Composing; using Umbraco.Core.Services; using Umbraco.Core.Strings; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/DataValueEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/DataValueEditor.cs index df9a06515c..fec245009f 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/DataValueEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/DataValueEditor.cs @@ -7,7 +7,6 @@ using System.Xml.Linq; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Umbraco.Composing; using Umbraco.Core.Composing; using Umbraco.Core.Models; using Umbraco.Core.Models.Editors; @@ -217,7 +216,7 @@ namespace Umbraco.Core.PropertyEditors var result = TryConvertValueToCrlType(editorValue.Value); if (result.Success == false) { - Current.Logger.LogWarning("The value {EditorValue} cannot be converted to the type {StorageTypeValue}", editorValue.Value, ValueTypes.ToStorageType(ValueType)); + StaticApplicationLogging.Logger.LogWarning("The value {EditorValue} cannot be converted to the type {StorageTypeValue}", editorValue.Value, ValueTypes.ToStorageType(ValueType)); return null; } return result.Result; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/GridValueConverter.cs b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/GridValueConverter.cs index 83866d958f..f601dac6d9 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/GridValueConverter.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/GridValueConverter.cs @@ -6,7 +6,6 @@ using Newtonsoft.Json.Linq; using Umbraco.Core.Composing; using Umbraco.Core.Configuration.Grid; using Umbraco.Core.Models.PublishedContent; -using Umbraco.Composing; namespace Umbraco.Core.PropertyEditors.ValueConverters { @@ -92,7 +91,7 @@ namespace Umbraco.Core.PropertyEditors.ValueConverters } catch (Exception ex) { - Current.Logger.LogError(ex, "Could not parse the string '{JsonString}' to a json object", sourceString); + StaticApplicationLogging.Logger.LogError(ex, "Could not parse the string '{JsonString}' to a json object", sourceString); } } diff --git a/src/Umbraco.Infrastructure/Routing/NotFoundHandlerHelper.cs b/src/Umbraco.Infrastructure/Routing/NotFoundHandlerHelper.cs index ae50baa5b3..80aa0f1bc6 100644 --- a/src/Umbraco.Infrastructure/Routing/NotFoundHandlerHelper.cs +++ b/src/Umbraco.Infrastructure/Routing/NotFoundHandlerHelper.cs @@ -2,7 +2,6 @@ using System.Globalization; using System.Linq; using Microsoft.Extensions.Logging; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Configuration.UmbracoSettings; @@ -108,7 +107,7 @@ namespace Umbraco.Web.Routing } catch (Exception ex) { - Current.Logger.LogError(ex, "Could not parse xpath expression: {ContentXPath}", errorPage.ContentXPath); + StaticApplicationLogging.Logger.LogError(ex, "Could not parse xpath expression: {ContentXPath}", errorPage.ContentXPath); return null; } } diff --git a/src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs b/src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs index f3357b19bb..f38ea2b527 100644 --- a/src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs +++ b/src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs @@ -1,5 +1,6 @@ using System; using Examine; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Core.Cache; using Umbraco.Core.Composing; @@ -85,20 +86,20 @@ namespace Umbraco.Core.Runtime composition.Mappers().AddCoreMappers(); // register the scope provider - composition.RegisterUnique(); // implements both IScopeProvider and IScopeAccessor - composition.RegisterUnique(f => f.GetInstance()); - composition.RegisterUnique(f => f.GetInstance()); + composition.Services.AddUnique(); // implements both IScopeProvider and IScopeAccessor + composition.Services.AddUnique(f => f.GetRequiredService()); + composition.Services.AddUnique(f => f.GetRequiredService()); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // register database builder // *not* a singleton, don't want to keep it around - composition.Register(); + composition.Services.AddTransient(); // register manifest parser, will be injected in collection builders where needed - composition.RegisterUnique(); + composition.Services.AddUnique(); // register our predefined validators composition.ManifestValueValidators() @@ -120,42 +121,43 @@ namespace Umbraco.Core.Runtime .Add() .Add(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // Used to determine if a datatype/editor should be storing/tracking // references to media item/s composition.DataValueReferenceFactories(); // register a server registrar, by default it's the db registrar - composition.RegisterUnique(f => + composition.Services.AddUnique(f => { - var globalSettings = f.GetInstance>().Value; + var globalSettings = f.GetRequiredService>().Value; // TODO: we still register the full IServerMessenger because // even on 1 single server we can have 2 concurrent app domains var singleServer = globalSettings.DisableElectionForSingleServer; return singleServer - ? (IServerRegistrar) new SingleServerRegistrar(f.GetInstance()) + ? (IServerRegistrar) new SingleServerRegistrar(f.GetRequiredService()) : new DatabaseServerRegistrar( - new Lazy(f.GetInstance), - new DatabaseServerRegistrarOptions()); + new Lazy(f.GetRequiredService)); }); // by default we'll use the database server messenger with default options (no callbacks), // this will be overridden by the db thing in the corresponding components in the web // project - composition.RegisterUnique(factory + composition.Services.AddUnique(factory => new DatabaseServerMessenger( - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance>(), - factory.GetInstance(), - true, new DatabaseServerMessengerOptions(), - factory.GetInstance(), - factory.GetInstance() + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService>(), + factory.GetRequiredService(), + true, + new DatabaseServerMessengerCallbacks(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService>() )); composition.CacheRefreshers() @@ -167,56 +169,56 @@ namespace Umbraco.Core.Runtime composition.PropertyValueConverters() .Append(composition.TypeLoader.GetTypes()); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(factory - => new DefaultShortStringHelper(new DefaultShortStringHelperConfig().WithDefault(factory.GetInstance>().Value))); + composition.Services.AddUnique(factory + => new DefaultShortStringHelper(new DefaultShortStringHelperConfig().WithDefault(factory.GetRequiredService>().Value))); composition.UrlSegmentProviders() .Append(); - composition.RegisterUnique(factory => new MigrationBuilder(factory)); + composition.Services.AddUnique(factory => new MigrationBuilder(factory)); // by default, register a noop factory - composition.RegisterUnique(); + composition.Services.AddUnique(); // by default - composition.RegisterUnique(); + composition.Services.AddUnique(); composition.SetCultureDictionaryFactory(); - composition.Register(f => f.GetInstance().CreateDictionary(), Lifetime.Singleton); - composition.RegisterUnique(); + composition.Services.AddSingleton(f => f.GetRequiredService().CreateDictionary()); + composition.Services.AddUnique(); // register the published snapshot accessor - the "current" published snapshot is in the umbraco context - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); // register core CMS dashboards and 3rd party types - will be ordered by weight attribute & merged with package.manifest dashboards composition.Dashboards() .Add(composition.TypeLoader.GetTypes()); // will be injected in controllers when needed to invoke rest endpoints on Our - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // Grid config is not a real config file as we know them - composition.RegisterUnique(); + composition.Services.AddUnique(); // Config manipulator - composition.RegisterUnique(); - - // register the umbraco context factory - // composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + // register the umbraco context factory + // composition.Services.AddUnique(); + composition.Services.AddUnique(); + + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // both TinyMceValueConverter (in Core) and RteMacroRenderingValueConverter (in Web) will be // discovered when CoreBootManager configures the converters. We HAVE to remove one of them @@ -235,14 +237,14 @@ namespace Umbraco.Core.Runtime composition.MediaUrlProviders() .Append(); - composition.RegisterUnique(); + composition.Services.AddUnique(); // register properties fallback - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); composition.Actions() .Add(() => composition.TypeLoader.GetTypes()); @@ -254,7 +256,7 @@ namespace Umbraco.Core.Runtime composition.TourFilters(); // replace with web implementation - composition.RegisterUnique(); + composition.Services.AddUnique(); // register OEmbed providers - no type scanning - all explicit opt-in of adding types // note: IEmbedProvider is not IDiscoverable - think about it if going for type scanning @@ -296,17 +298,16 @@ namespace Umbraco.Core.Runtime .Append(); // register published router - composition.RegisterUnique(); + composition.Services.AddUnique(); // register *all* checks, except those marked [HideFromTypeFinder] of course composition.HealthChecks() .Add(() => composition.TypeLoader.GetTypes()); - composition.WithCollectionBuilder() .Add(() => composition.TypeLoader.GetTypes()); - composition.RegisterUnique(); + composition.Services.AddUnique(); composition.ContentFinders() // all built-in finders in the correct order, @@ -318,59 +319,61 @@ namespace Umbraco.Core.Runtime .Append() .Append(); - composition.Register(Lifetime.Request); + composition.Services.AddScoped(); composition.SearchableTrees() .Add(() => composition.TypeLoader.GetTypes()); // replace some services - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); // register distributed cache - composition.RegisterUnique(f => new DistributedCache(f.GetInstance(), f.GetInstance())); + composition.Services.AddUnique(f => new DistributedCache(f.GetRequiredService(), f.GetRequiredService())); - composition.Register(Lifetime.Request); + composition.Services.AddScoped(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.Register(factory => + composition.Services.AddUnique(); + composition.Services.AddScoped(factory => { - var umbCtx = factory.GetInstance(); - return new PublishedContentQuery(umbCtx.UmbracoContext.PublishedSnapshot, factory.GetInstance(), factory.GetInstance()); - }, Lifetime.Request); + var umbCtx = factory.GetRequiredService(); + return new PublishedContentQuery(umbCtx.UmbracoContext.PublishedSnapshot, factory.GetRequiredService(), factory.GetRequiredService()); + }); - composition.RegisterUnique(); + composition.Services.AddUnique(); // register the http context and umbraco context accessors // we *should* use the HttpContextUmbracoContextAccessor, however there are cases when // we have no http context, eg when booting Umbraco or in background threads, so instead // let's use an hybrid accessor that can fall back to a ThreadStatic context. - composition.RegisterUnique(); + composition.Services.AddUnique(); // register accessors for cultures - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.Register(Lifetime.Singleton); + composition.Services.AddSingleton(); - composition.RegisterUnique(); + composition.Services.AddUnique(); // Register noop versions for examine to be overridden by examine - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs b/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs index 56cd2ecbc3..a0c1718c07 100644 --- a/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs +++ b/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs @@ -1,415 +1,75 @@ using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Umbraco.Core.Cache; using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Events; -using Umbraco.Core.Exceptions; using Umbraco.Core.Hosting; -using Umbraco.Core.IO; using Umbraco.Core.Logging; -using Umbraco.Core.Persistence; -using Umbraco.Core.Persistence.Mappers; -using Umbraco.Infrastructure.Composing; namespace Umbraco.Core.Runtime { - /// - /// Represents the Core Umbraco runtime. - /// - /// Does not handle any of the web-related aspects of Umbraco (startup, etc). It - /// should be possible to use this runtime in console apps. public class CoreRuntime : IRuntime { - private ComponentCollection _components; - private IFactory _factory; - // runtime state, this instance will get replaced again once the essential services are available to run the check - private RuntimeState _state = RuntimeState.Booting(); + public IRuntimeState State { get; } + + private readonly ComponentCollection _components; private readonly IUmbracoBootPermissionChecker _umbracoBootPermissionChecker; - private readonly GlobalSettings _globalSettings; - private readonly ConnectionStrings _connectionStrings; + private readonly IApplicationShutdownRegistry _applicationShutdownRegistry; + private readonly IProfilingLogger _profilingLogger; + private readonly IMainDom _mainDom; public CoreRuntime( - GlobalSettings globalSettings, - ConnectionStrings connectionStrings, - IUmbracoVersion umbracoVersion, - IIOHelper ioHelper, - ILoggerFactory loggerFactory, - IProfiler profiler, + IRuntimeState state, + ComponentCollection components, IUmbracoBootPermissionChecker umbracoBootPermissionChecker, - IHostingEnvironment hostingEnvironment, - IBackOfficeInfo backOfficeInfo, - IDbProviderFactoryCreator dbProviderFactoryCreator, - IMainDom mainDom, - ITypeFinder typeFinder, - AppCaches appCaches) + IApplicationShutdownRegistry applicationShutdownRegistry, + IProfilingLogger profilingLogger, + IMainDom mainDom) { - _globalSettings = globalSettings; - _connectionStrings = connectionStrings; - - IOHelper = ioHelper; - AppCaches = appCaches; - UmbracoVersion = umbracoVersion; - Profiler = profiler; - HostingEnvironment = hostingEnvironment; - BackOfficeInfo = backOfficeInfo; - DbProviderFactoryCreator = dbProviderFactoryCreator; - - RuntimeLoggerFactory = loggerFactory; + State = state; + _components = components; _umbracoBootPermissionChecker = umbracoBootPermissionChecker; - - Logger = loggerFactory.CreateLogger(); - MainDom = mainDom; - TypeFinder = typeFinder; - - _globalSettings = globalSettings; - _connectionStrings = connectionStrings; - - } - - /// - /// Gets the logger. - /// - private ILogger Logger { get; } - - public ILoggerFactory RuntimeLoggerFactory { get; } - - protected IBackOfficeInfo BackOfficeInfo { get; } - - public IDbProviderFactoryCreator DbProviderFactoryCreator { get; } - - /// - /// Gets the profiler. - /// - protected IProfiler Profiler { get; } - - /// - /// Gets the profiling logger. - /// - public IProfilingLogger ProfilingLogger { get; private set; } - - /// - /// Gets the - /// - protected ITypeFinder TypeFinder { get; } - - /// - /// Gets the - /// - protected IIOHelper IOHelper { get; } - - protected IHostingEnvironment HostingEnvironment { get; } - public AppCaches AppCaches { get; } - public IUmbracoVersion UmbracoVersion { get; } - - /// - public IRuntimeState State => _state; - - public IMainDom MainDom { get; } - - /// - public virtual IFactory Configure(IRegister register) - { - if (register is null) throw new ArgumentNullException(nameof(register)); - - - // create and register the essential services - // ie the bare minimum required to boot - - // the boot loader boots using a container scope, so anything that is PerScope will - // be disposed after the boot loader has booted, and anything else will remain. - // note that this REQUIRES that perWebRequestScope has NOT been enabled yet, else - // the container will fail to create a scope since there is no http context when - // the application starts. - // the boot loader is kept in the runtime for as long as Umbraco runs, and components - // are NOT disposed - which is not a big deal as long as they remain lightweight - // objects. - - var umbracoVersion = new UmbracoVersion(); - var profilingLogger = ProfilingLogger = new ProfilingLogger(Logger, Profiler); - using (var timer = profilingLogger.TraceDuration( - $"Booting Umbraco {umbracoVersion.SemanticVersion.ToSemanticString()}.", - "Booted.", - "Boot failed.")) - { - - Logger.LogInformation("Booting site '{HostingSiteName}', app '{HostingApplicationId}', path '{HostingPhysicalPath}', server '{MachineName}'.", - HostingEnvironment?.SiteName, - HostingEnvironment?.ApplicationId, - HostingEnvironment?.ApplicationPhysicalPath, - NetworkHelper.MachineName); - Logger.LogDebug("Runtime: {Runtime}", GetType().FullName); - - AppDomain.CurrentDomain.SetData("DataDirectory", HostingEnvironment?.MapPathContentRoot(Constants.SystemDirectories.Data)); - - // application environment - ConfigureUnhandledException(); - _factory = Configure(register, timer); - - return _factory; - } - } - - /// - /// Configure the runtime within a timer. - /// - private IFactory Configure(IRegister register, DisposableTimer timer) - { - if (register is null) throw new ArgumentNullException(nameof(register)); - if (timer is null) throw new ArgumentNullException(nameof(timer)); - - Composition composition = null; - IFactory factory = null; - - try - { - // run handlers - OnRuntimeBoot(); - - // database factory - var databaseFactory = CreateDatabaseFactory(); - - // type finder/loader - var typeLoader = new TypeLoader(TypeFinder, AppCaches.RuntimeCache, new DirectoryInfo(HostingEnvironment.LocalTempPath), RuntimeLoggerFactory.CreateLogger(), ProfilingLogger); - - // re-create the state object with the essential services - _state = new RuntimeState(_globalSettings, UmbracoVersion, databaseFactory, RuntimeLoggerFactory.CreateLogger()); - - // create the composition - composition = new Composition(register, typeLoader, ProfilingLogger, _state, IOHelper, AppCaches); - - composition.RegisterEssentials(Logger, RuntimeLoggerFactory, Profiler, ProfilingLogger, MainDom, AppCaches, databaseFactory, typeLoader, _state, TypeFinder, IOHelper, UmbracoVersion, DbProviderFactoryCreator, HostingEnvironment, BackOfficeInfo); - - // register ourselves (TODO: Should we put this in RegisterEssentials?) - composition.Register(_ => this, Lifetime.Singleton); - - // run handlers - OnRuntimeEssentials(composition, AppCaches, typeLoader, databaseFactory); - - try - { - // determine our runtime level - DetermineRuntimeLevel(databaseFactory); - } - finally - { - // always run composers - RunComposers(typeLoader, composition); - } - - // create the factory - factory = composition.CreateFactory(); - } - catch (Exception e) - { - var bfe = e as BootFailedException ?? new BootFailedException("Boot failed.", e); - - if (_state != null) - { - _state.Level = RuntimeLevel.BootFailed; - _state.BootFailedException = bfe; - } - - timer?.Fail(exception: bfe); // be sure to log the exception - even if we repeat ourselves - - // if something goes wrong above, we may end up with no factory - // meaning nothing can get the runtime state, etc - so let's try - // to make sure we have a factory - if (factory == null) - { - try - { - factory = composition?.CreateFactory(); - } - catch { /* yea */ } - } - - Debugger.Break(); - - // throwing here can cause w3wp to hard-crash and we want to avoid it. - // instead, we're logging the exception and setting level to BootFailed. - // various parts of Umbraco such as UmbracoModule and UmbracoDefaultOwinStartup - // understand this and will nullify themselves, while UmbracoModule will - // throw a BootFailedException for every requests. - } - - return factory; + _applicationShutdownRegistry = applicationShutdownRegistry; + _profilingLogger = profilingLogger; + _mainDom = mainDom; } + public void Start() { - if (_state.Level <= RuntimeLevel.BootFailed) + if (State.Level <= RuntimeLevel.BootFailed) throw new InvalidOperationException($"Cannot start the runtime if the runtime level is less than or equal to {RuntimeLevel.BootFailed}"); // throws if not full-trust _umbracoBootPermissionChecker.ThrowIfNotPermissions(); - var hostingEnvironmentLifetime = _factory.TryGetInstance(); + var hostingEnvironmentLifetime = _applicationShutdownRegistry; if (hostingEnvironmentLifetime == null) throw new InvalidOperationException($"An instance of {typeof(IApplicationShutdownRegistry)} could not be resolved from the container, ensure that one if registered in your runtime before calling {nameof(IRuntime)}.{nameof(Start)}"); // acquire the main domain - if this fails then anything that should be registered with MainDom will not operate - AcquireMainDom(MainDom, _factory.GetInstance()); + AcquireMainDom(_mainDom, _applicationShutdownRegistry); // create & initialize the components - _components = _factory.GetInstance(); _components.Initialize(); } - protected virtual void ConfigureUnhandledException() - { - //take care of unhandled exceptions - there is nothing we can do to - // prevent the launch process to go down but at least we can try - // and log the exception - AppDomain.CurrentDomain.UnhandledException += (_, args) => - { - var exception = (Exception)args.ExceptionObject; - var isTerminating = args.IsTerminating; // always true? - - var msg = "Unhandled exception in AppDomain"; - if (isTerminating) msg += " (terminating)"; - msg += "."; - Logger.LogError(exception, msg); - }; - } - - private void RunComposers(TypeLoader typeLoader, Composition composition) - { - // get composers, and compose - var composerTypes = ResolveComposerTypes(typeLoader); - - IEnumerable enableDisableAttributes; - using (ProfilingLogger.DebugDuration("Scanning enable/disable composer attributes")) - { - enableDisableAttributes = typeLoader.GetAssemblyAttributes(typeof(EnableComposerAttribute), typeof(DisableComposerAttribute)); - } - - var composers = new Composers(composition, composerTypes, enableDisableAttributes, RuntimeLoggerFactory.CreateLogger(), ProfilingLogger); - composers.Compose(); - } - - private bool AcquireMainDom(IMainDom mainDom, IApplicationShutdownRegistry applicationShutdownRegistry) - { - using (var timer = ProfilingLogger.DebugDuration("Acquiring MainDom.", "Acquired.")) - { - try - { - return mainDom.Acquire(applicationShutdownRegistry); - } - catch - { - timer?.Fail(); - throw; - } - } - } - - private void DetermineRuntimeLevel(IUmbracoDatabaseFactory databaseFactory) - { - using var timer = ProfilingLogger.DebugDuration("Determining runtime level.", "Determined."); - - try - { - _state.DetermineRuntimeLevel(); - - Logger.LogDebug("Runtime level: {RuntimeLevel} - {RuntimeLevelReason}", _state.Level, _state.Reason); - - if (_state.Level == RuntimeLevel.Upgrade) - { - Logger.LogDebug("Configure database factory for upgrades."); - databaseFactory.ConfigureForUpgrade(); - } - } - catch - { - _state.Level = RuntimeLevel.BootFailed; - _state.Reason = RuntimeLevelReason.BootFailedOnException; - timer?.Fail(); - throw; - } - } - - private IEnumerable ResolveComposerTypes(TypeLoader typeLoader) - { - using (var timer = ProfilingLogger.TraceDuration("Resolving composer types.", "Resolved.")) - { - try - { - return GetComposerTypes(typeLoader); - } - catch - { - timer?.Fail(); - throw; - } - } - } - - /// - public virtual void Terminate() + public void Terminate() { _components?.Terminate(); } - public void ReplaceFactory(IServiceProvider serviceProvider) + private void AcquireMainDom(IMainDom mainDom, IApplicationShutdownRegistry applicationShutdownRegistry) { - _factory = ServiceProviderFactoryAdapter.Wrap(serviceProvider); + using (var timer = _profilingLogger.DebugDuration("Acquiring MainDom.", "Acquired.")) + { + try + { + mainDom.Acquire(applicationShutdownRegistry); + } + catch + { + timer?.Fail(); + throw; + } + } } - - #region Getters - - // getters can be implemented by runtimes inheriting from CoreRuntime - - /// - /// Gets all composer types. - /// - protected virtual IEnumerable GetComposerTypes(TypeLoader typeLoader) - => typeLoader.GetTypes(); - - /// - /// Returns the application path of the site/solution - /// - /// - /// - /// By default is null which means it's not running in any virtual folder. If the site is running in a virtual folder, this - /// can be overridden and the virtual path returned (i.e. /mysite/) - /// - protected virtual string GetApplicationRootPath() - => null; - - /// - /// Creates the database factory. - /// - /// This is strictly internal, for tests only. - protected internal virtual IUmbracoDatabaseFactory CreateDatabaseFactory() - => new UmbracoDatabaseFactory(RuntimeLoggerFactory.CreateLogger(), RuntimeLoggerFactory, Options.Create(_globalSettings), Options.Create(_connectionStrings), new Lazy(() => _factory.GetInstance()), DbProviderFactoryCreator); - - - #endregion - - #region Events - - protected void OnRuntimeBoot() - { - RuntimeOptions.DoRuntimeBoot(ProfilingLogger); - RuntimeBooting?.Invoke(this, ProfilingLogger); - } - - protected void OnRuntimeEssentials(Composition composition, AppCaches appCaches, TypeLoader typeLoader, IUmbracoDatabaseFactory databaseFactory) - { - RuntimeOptions.DoRuntimeEssentials(composition, appCaches, typeLoader, databaseFactory); - RuntimeEssentials?.Invoke(this, new RuntimeEssentialsEventArgs(composition, appCaches, typeLoader, databaseFactory)); - } - - public event TypedEventHandler RuntimeBooting; - public event TypedEventHandler RuntimeEssentials; - - #endregion - } } diff --git a/src/Umbraco.Infrastructure/Runtime/CoreRuntimeBootstrapper.cs b/src/Umbraco.Infrastructure/Runtime/CoreRuntimeBootstrapper.cs new file mode 100644 index 0000000000..9b576324bd --- /dev/null +++ b/src/Umbraco.Infrastructure/Runtime/CoreRuntimeBootstrapper.cs @@ -0,0 +1,376 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Umbraco.Core.Cache; +using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Events; +using Umbraco.Core.Exceptions; +using Umbraco.Core.Hosting; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence; +using Umbraco.Core.Persistence.Mappers; + +namespace Umbraco.Core.Runtime +{ + /// + /// Bootstraps the Core Umbraco runtime. + /// + /// Does not handle any of the web-related aspects of Umbraco (startup, etc). It + /// should be possible to use this runtime in console apps. + public class CoreRuntimeBootstrapper + { + // runtime state, this instance will get replaced again once the essential services are available to run the check + private RuntimeState _state = RuntimeState.Booting(); + private readonly IUmbracoBootPermissionChecker _umbracoBootPermissionChecker; + private readonly GlobalSettings _globalSettings; + private readonly ConnectionStrings _connectionStrings; + + public CoreRuntimeBootstrapper( + GlobalSettings globalSettings, + ConnectionStrings connectionStrings, + IUmbracoVersion umbracoVersion, + IIOHelper ioHelper, + ILoggerFactory loggerFactory, + IProfiler profiler, + IUmbracoBootPermissionChecker umbracoBootPermissionChecker, + IHostingEnvironment hostingEnvironment, + IBackOfficeInfo backOfficeInfo, + IDbProviderFactoryCreator dbProviderFactoryCreator, + IMainDom mainDom, + ITypeFinder typeFinder, + AppCaches appCaches) + { + _globalSettings = globalSettings; + _connectionStrings = connectionStrings; + + IOHelper = ioHelper; + AppCaches = appCaches; + UmbracoVersion = umbracoVersion; + Profiler = profiler; + HostingEnvironment = hostingEnvironment; + BackOfficeInfo = backOfficeInfo; + DbProviderFactoryCreator = dbProviderFactoryCreator; + + RuntimeLoggerFactory = loggerFactory; + _umbracoBootPermissionChecker = umbracoBootPermissionChecker; + + Logger = loggerFactory.CreateLogger(); + MainDom = mainDom; + TypeFinder = typeFinder; + } + + /// + /// Gets the logger. + /// + private ILogger Logger { get; } + + public ILoggerFactory RuntimeLoggerFactory { get; } + + protected IBackOfficeInfo BackOfficeInfo { get; } + + public IDbProviderFactoryCreator DbProviderFactoryCreator { get; } + + /// + /// Gets the profiler. + /// + protected IProfiler Profiler { get; } + + /// + /// Gets the profiling logger. + /// + public IProfilingLogger ProfilingLogger { get; private set; } + + /// + /// Gets the + /// + protected ITypeFinder TypeFinder { get; } + + /// + /// Gets the + /// + protected IIOHelper IOHelper { get; } + + protected IHostingEnvironment HostingEnvironment { get; } + public AppCaches AppCaches { get; } + public IUmbracoVersion UmbracoVersion { get; } + + /// + public IRuntimeState State => _state; + + public IMainDom MainDom { get; } + + /// + public virtual void Configure(IServiceCollection services) + { + if (services is null) throw new ArgumentNullException(nameof(services)); + + + // create and register the essential services + // ie the bare minimum required to boot + + // the boot loader boots using a container scope, so anything that is PerScope will + // be disposed after the boot loader has booted, and anything else will remain. + // note that this REQUIRES that perWebRequestScope has NOT been enabled yet, else + // the container will fail to create a scope since there is no http context when + // the application starts. + // the boot loader is kept in the runtime for as long as Umbraco runs, and components + // are NOT disposed - which is not a big deal as long as they remain lightweight + // objects. + + var umbracoVersion = new UmbracoVersion(); + var profilingLogger = ProfilingLogger = new ProfilingLogger(Logger, Profiler); + using (var timer = profilingLogger.TraceDuration( + $"Booting Umbraco {umbracoVersion.SemanticVersion.ToSemanticString()}.", + "Booted.", + "Boot failed.")) + { + + Logger.LogInformation("Booting site '{HostingSiteName}', app '{HostingApplicationId}', path '{HostingPhysicalPath}', server '{MachineName}'.", + HostingEnvironment?.SiteName, + HostingEnvironment?.ApplicationId, + HostingEnvironment?.ApplicationPhysicalPath, + NetworkHelper.MachineName); + Logger.LogDebug("Runtime: {Runtime}", GetType().FullName); + + AppDomain.CurrentDomain.SetData("DataDirectory", HostingEnvironment?.MapPathContentRoot(Constants.SystemDirectories.Data)); + + // application environment + ConfigureUnhandledException(); + Configure(services, timer); + } + } + + /// + /// Configure the runtime within a timer. + /// + private void Configure(IServiceCollection services, DisposableTimer timer) + { + if (services is null) throw new ArgumentNullException(nameof(services)); + if (timer is null) throw new ArgumentNullException(nameof(timer)); + + Composition composition = null; + + try + { + // run handlers + OnRuntimeBoot(); + + // type finder/loader + var typeLoader = new TypeLoader(TypeFinder, AppCaches.RuntimeCache, + new DirectoryInfo(HostingEnvironment.LocalTempPath), + RuntimeLoggerFactory.CreateLogger(), ProfilingLogger); + + services.AddUnique(Logger); + services.AddUnique(RuntimeLoggerFactory); + services.AddUnique(_umbracoBootPermissionChecker); + services.AddUnique(Profiler); + services.AddUnique(ProfilingLogger); + services.AddUnique(MainDom); + services.AddUnique(AppCaches); + services.AddUnique(AppCaches.RequestCache); + services.AddUnique(typeLoader); + services.AddUnique(TypeFinder); + services.AddUnique(IOHelper); + services.AddUnique(UmbracoVersion); + services.AddUnique(DbProviderFactoryCreator); + services.AddUnique(HostingEnvironment); + services.AddUnique(BackOfficeInfo); + services.AddUnique(); + + // NOTE: This instance of IUmbracoDatabaseFactory is only used to determine runtime state. + var bootstrapDatabaseFactory = CreateBootstrapDatabaseFactory(); + + // after bootstrapping we let the container wire up for us. + services.AddUnique(); + services.AddUnique(factory => factory.GetRequiredService().SqlContext); + services.AddUnique(factory => factory.GetRequiredService().BulkSqlInsertProvider); + + // re-create the state object with the essential services + _state = new RuntimeState(_globalSettings, UmbracoVersion, bootstrapDatabaseFactory, RuntimeLoggerFactory.CreateLogger()); + services.AddUnique(_state); + + + // create the composition + composition = new Composition(services, typeLoader, ProfilingLogger, _state, IOHelper, AppCaches); + + // run handlers + OnRuntimeEssentials(composition, AppCaches, typeLoader, bootstrapDatabaseFactory); + + try + { + // determine our runtime level + DetermineRuntimeLevel(bootstrapDatabaseFactory); + } + finally + { + // always run composers + RunComposers(typeLoader, composition); + } + + } + catch (Exception e) + { + var bfe = e as BootFailedException ?? new BootFailedException("Boot failed.", e); + + if (_state != null) + { + _state.Level = RuntimeLevel.BootFailed; + _state.BootFailedException = bfe; + } + + timer?.Fail(exception: bfe); // be sure to log the exception - even if we repeat ourselves + + Debugger.Break(); + + // throwing here can cause w3wp to hard-crash and we want to avoid it. + // instead, we're logging the exception and setting level to BootFailed. + // various parts of Umbraco such as UmbracoModule and UmbracoDefaultOwinStartup + // understand this and will nullify themselves, while UmbracoModule will + // throw a BootFailedException for every requests. + } + finally + { + composition?.RegisterBuilders(); + } + } + + protected virtual void ConfigureUnhandledException() + { + //take care of unhandled exceptions - there is nothing we can do to + // prevent the launch process to go down but at least we can try + // and log the exception + AppDomain.CurrentDomain.UnhandledException += (_, args) => + { + var exception = (Exception)args.ExceptionObject; + var isTerminating = args.IsTerminating; // always true? + + var msg = "Unhandled exception in AppDomain"; + if (isTerminating) msg += " (terminating)"; + msg += "."; + Logger.LogError(exception, msg); + }; + } + + private void RunComposers(TypeLoader typeLoader, Composition composition) + { + // get composers, and compose + var composerTypes = ResolveComposerTypes(typeLoader); + + IEnumerable enableDisableAttributes; + using (ProfilingLogger.DebugDuration("Scanning enable/disable composer attributes")) + { + enableDisableAttributes = typeLoader.GetAssemblyAttributes(typeof(EnableComposerAttribute), typeof(DisableComposerAttribute)); + } + + var composers = new Composers(composition, composerTypes, enableDisableAttributes, RuntimeLoggerFactory.CreateLogger(), ProfilingLogger); + composers.Compose(); + } + + + private void DetermineRuntimeLevel(IUmbracoDatabaseFactory databaseFactory) + { + using var timer = ProfilingLogger.DebugDuration("Determining runtime level.", "Determined."); + + try + { + _state.DetermineRuntimeLevel(); + + Logger.LogDebug("Runtime level: {RuntimeLevel} - {RuntimeLevelReason}", _state.Level, _state.Reason); + + if (_state.Level == RuntimeLevel.Upgrade) + { + Logger.LogDebug("Configure database factory for upgrades."); + databaseFactory.ConfigureForUpgrade(); + } + } + catch + { + _state.Level = RuntimeLevel.BootFailed; + _state.Reason = RuntimeLevelReason.BootFailedOnException; + timer?.Fail(); + throw; + } + } + + private IEnumerable ResolveComposerTypes(TypeLoader typeLoader) + { + using (var timer = ProfilingLogger.TraceDuration("Resolving composer types.", "Resolved.")) + { + try + { + return GetComposerTypes(typeLoader); + } + catch + { + timer?.Fail(); + throw; + } + } + } + + #region Getters + + // getters can be implemented by runtimes inheriting from CoreRuntime + + /// + /// Gets all composer types. + /// + protected virtual IEnumerable GetComposerTypes(TypeLoader typeLoader) + => typeLoader.GetTypes(); + + /// + /// Returns the application path of the site/solution + /// + /// + /// + /// By default is null which means it's not running in any virtual folder. If the site is running in a virtual folder, this + /// can be overridden and the virtual path returned (i.e. /mysite/) + /// + protected virtual string GetApplicationRootPath() + => null; + + /// + /// Creates the database factory. + /// + /// This is strictly internal, for tests only. + protected internal virtual IUmbracoDatabaseFactory CreateBootstrapDatabaseFactory() + => new UmbracoDatabaseFactory( + RuntimeLoggerFactory.CreateLogger(), + RuntimeLoggerFactory, + Options.Create(_globalSettings), + Options.Create(_connectionStrings), + new Lazy(() => new MapperCollection(Enumerable.Empty())), + DbProviderFactoryCreator); + + + #endregion + + #region Events + + protected void OnRuntimeBoot() + { + RuntimeOptions.DoRuntimeBoot(ProfilingLogger); + RuntimeBooting?.Invoke(this, ProfilingLogger); + } + + protected void OnRuntimeEssentials(Composition composition, AppCaches appCaches, TypeLoader typeLoader, IUmbracoDatabaseFactory databaseFactory) + { + RuntimeOptions.DoRuntimeEssentials(composition, appCaches, typeLoader, databaseFactory); + RuntimeEssentials?.Invoke(this, new RuntimeEssentialsEventArgs(composition, appCaches, typeLoader, databaseFactory)); + } + + public event TypedEventHandler RuntimeBooting; + public event TypedEventHandler RuntimeEssentials; + + #endregion + + } +} diff --git a/src/Umbraco.Infrastructure/Scheduling/LogScrubber.cs b/src/Umbraco.Infrastructure/Scheduling/LogScrubber.cs deleted file mode 100644 index c1b0b2e6d3..0000000000 --- a/src/Umbraco.Infrastructure/Scheduling/LogScrubber.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using Microsoft.Extensions.Options; -using Umbraco.Core; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Core.Logging; -using Umbraco.Core.Scoping; -using Umbraco.Core.Services; -using Umbraco.Core.Sync; -using Microsoft.Extensions.Logging; - -namespace Umbraco.Web.Scheduling -{ - public class LogScrubber : RecurringTaskBase - { - private readonly IMainDom _mainDom; - private readonly IServerRegistrar _serverRegistrar; - private readonly IAuditService _auditService; - private readonly LoggingSettings _settings; - private readonly IProfilingLogger _profilingLogger; - private readonly ILogger _logger; - private readonly IScopeProvider _scopeProvider; - - public LogScrubber(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IMainDom mainDom, IServerRegistrar serverRegistrar, IAuditService auditService, IOptions settings, IScopeProvider scopeProvider, IProfilingLogger profilingLogger , ILogger logger) - : base(runner, delayMilliseconds, periodMilliseconds) - { - _mainDom = mainDom; - _serverRegistrar = serverRegistrar; - _auditService = auditService; - _settings = settings.Value; - _scopeProvider = scopeProvider; - _profilingLogger = profilingLogger ; - _logger = logger; - } - - // maximum age, in minutes - private int GetLogScrubbingMaximumAge(LoggingSettings settings) - { - var maximumAge = 24 * 60; // 24 hours, in minutes - try - { - if (settings.MaxLogAge > -1) - maximumAge = settings.MaxLogAge; - } - catch (Exception ex) - { - _logger.LogError(ex, "Unable to locate a log scrubbing maximum age. Defaulting to 24 hours."); - } - return maximumAge; - - } - - public static int GetLogScrubbingInterval() - { - const int interval = 4 * 60 * 60 * 1000; // 4 hours, in milliseconds - return interval; - } - - public override bool PerformRun() - { - switch (_serverRegistrar.GetCurrentServerRole()) - { - case ServerRole.Replica: - _logger.LogDebug("Does not run on replica servers."); - return true; // DO repeat, server role can change - case ServerRole.Unknown: - _logger.LogDebug("Does not run on servers with unknown role."); - return true; // DO repeat, server role can change - } - - // ensure we do not run if not main domain, but do NOT lock it - if (_mainDom.IsMainDom == false) - { - _logger.LogDebug("Does not run if not MainDom."); - return false; // do NOT repeat, going down - } - - // Ensure we use an explicit scope since we are running on a background thread. - using (var scope = _scopeProvider.CreateScope()) - using (_profilingLogger.DebugDuration("Log scrubbing executing", "Log scrubbing complete")) - { - _auditService.CleanLogs(GetLogScrubbingMaximumAge(_settings)); - scope.Complete(); - } - - return true; // repeat - } - - public override bool IsAsync => false; - } -} diff --git a/src/Umbraco.Infrastructure/Scheduling/SchedulerComponent.cs b/src/Umbraco.Infrastructure/Scheduling/SchedulerComponent.cs deleted file mode 100644 index 05dcbec793..0000000000 --- a/src/Umbraco.Infrastructure/Scheduling/SchedulerComponent.cs +++ /dev/null @@ -1,226 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Umbraco.Core; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.HealthCheck; -using Umbraco.Core.Hosting; -using Umbraco.Core.Logging; -using Umbraco.Core.Scoping; -using Umbraco.Core.Services; -using Umbraco.Core.Sync; -using Umbraco.Web.HealthCheck; -using Umbraco.Web.Routing; - -namespace Umbraco.Web.Scheduling -{ - public sealed class SchedulerComponent : IComponent - { - private const int DefaultDelayMilliseconds = 180000; // 3 mins - private const int OneMinuteMilliseconds = 60000; - private const int FiveMinuteMilliseconds = 300000; - private const int OneHourMilliseconds = 3600000; - - private readonly IRuntimeState _runtime; - private readonly IMainDom _mainDom; - private readonly IServerRegistrar _serverRegistrar; - private readonly IContentService _contentService; - private readonly IAuditService _auditService; - private readonly IProfilingLogger _profilingLogger; - private readonly ILogger _logger; - private readonly ILoggerFactory _loggerFactory; - private readonly IApplicationShutdownRegistry _applicationShutdownRegistry; - private readonly IScopeProvider _scopeProvider; - private readonly HealthCheckCollection _healthChecks; - private readonly HealthCheckNotificationMethodCollection _notifications; - private readonly IUmbracoContextFactory _umbracoContextFactory; - private readonly HealthChecksSettings _healthChecksSettings; - private readonly IServerMessenger _serverMessenger; - private readonly IRequestAccessor _requestAccessor; - private readonly IBackOfficeSecurityFactory _backofficeSecurityFactory; - private readonly LoggingSettings _loggingSettings; - private readonly KeepAliveSettings _keepAliveSettings; - private readonly IHostingEnvironment _hostingEnvironment; - - private BackgroundTaskRunner _keepAliveRunner; - private BackgroundTaskRunner _publishingRunner; - private BackgroundTaskRunner _scrubberRunner; - private BackgroundTaskRunner _fileCleanupRunner; - private BackgroundTaskRunner _healthCheckRunner; - - private bool _started; - private object _locker = new object(); - private IBackgroundTask[] _tasks; - - public SchedulerComponent(IRuntimeState runtime, IMainDom mainDom, IServerRegistrar serverRegistrar, - IContentService contentService, IAuditService auditService, - HealthCheckCollection healthChecks, HealthCheckNotificationMethodCollection notifications, - IScopeProvider scopeProvider, IUmbracoContextFactory umbracoContextFactory, IProfilingLogger profilingLogger , ILoggerFactory loggerFactory, - IApplicationShutdownRegistry applicationShutdownRegistry, IOptions healthChecksSettings, - IServerMessenger serverMessenger, IRequestAccessor requestAccessor, - IOptions loggingSettings, IOptions keepAliveSettings, - IHostingEnvironment hostingEnvironment, - IBackOfficeSecurityFactory backofficeSecurityFactory) - { - _runtime = runtime; - _mainDom = mainDom; - _serverRegistrar = serverRegistrar; - _contentService = contentService; - _auditService = auditService; - _scopeProvider = scopeProvider; - _profilingLogger = profilingLogger ; - _loggerFactory = loggerFactory; - _logger = loggerFactory.CreateLogger(); - _applicationShutdownRegistry = applicationShutdownRegistry; - _umbracoContextFactory = umbracoContextFactory; - - _healthChecks = healthChecks; - _notifications = notifications; - _healthChecksSettings = healthChecksSettings.Value ?? throw new ArgumentNullException(nameof(healthChecksSettings)); - _serverMessenger = serverMessenger; - _requestAccessor = requestAccessor; - _backofficeSecurityFactory = backofficeSecurityFactory; - _loggingSettings = loggingSettings.Value; - _keepAliveSettings = keepAliveSettings.Value; - _hostingEnvironment = hostingEnvironment; - } - - public void Initialize() - { - var logger = _loggerFactory.CreateLogger>(); - // backgrounds runners are web aware, if the app domain dies, these tasks will wind down correctly - _keepAliveRunner = new BackgroundTaskRunner("KeepAlive", logger, _applicationShutdownRegistry); - _publishingRunner = new BackgroundTaskRunner("ScheduledPublishing", logger, _applicationShutdownRegistry); - _scrubberRunner = new BackgroundTaskRunner("LogScrubber", logger, _applicationShutdownRegistry); - _fileCleanupRunner = new BackgroundTaskRunner("TempFileCleanup", logger, _applicationShutdownRegistry); - _healthCheckRunner = new BackgroundTaskRunner("HealthCheckNotifier", logger, _applicationShutdownRegistry); - - // we will start the whole process when a successful request is made - _requestAccessor.RouteAttempt += RegisterBackgroundTasksOnce; - } - - public void Terminate() - { - // the AppDomain / maindom / whatever takes care of stopping background task runners - } - - private void RegisterBackgroundTasksOnce(object sender, RoutableAttemptEventArgs e) - { - switch (e.Outcome) - { - case EnsureRoutableOutcome.IsRoutable: - case EnsureRoutableOutcome.NotDocumentRequest: - _requestAccessor.RouteAttempt -= RegisterBackgroundTasksOnce; - RegisterBackgroundTasks(); - break; - } - } - - private void RegisterBackgroundTasks() - { - LazyInitializer.EnsureInitialized(ref _tasks, ref _started, ref _locker, () => - { - _logger.LogDebug("Initializing the scheduler"); - - var tasks = new List(); - - if (_keepAliveSettings.DisableKeepAliveTask == false) - { - tasks.Add(RegisterKeepAlive(_keepAliveSettings)); - } - - tasks.Add(RegisterScheduledPublishing()); - tasks.Add(RegisterLogScrubber(_loggingSettings)); - tasks.Add(RegisterTempFileCleanup()); - - var healthCheckConfig = _healthChecksSettings; - if (healthCheckConfig.NotificationSettings.Enabled) - tasks.Add(RegisterHealthCheckNotifier(healthCheckConfig, _healthChecks, _notifications, _profilingLogger)); - - return tasks.ToArray(); - }); - } - - private IBackgroundTask RegisterKeepAlive(KeepAliveSettings keepAliveSettings) - { - // ping/keepalive - // on all servers - var task = new KeepAlive(_keepAliveRunner, DefaultDelayMilliseconds, FiveMinuteMilliseconds, _requestAccessor, _mainDom, Options.Create(keepAliveSettings), _loggerFactory.CreateLogger(), _profilingLogger, _serverRegistrar); - _keepAliveRunner.TryAdd(task); - return task; - } - - private IBackgroundTask RegisterScheduledPublishing() - { - // scheduled publishing/unpublishing - // install on all, will only run on non-replica servers - var task = new ScheduledPublishing(_publishingRunner, DefaultDelayMilliseconds, OneMinuteMilliseconds, _runtime, _mainDom, _serverRegistrar, _contentService, _umbracoContextFactory, _loggerFactory.CreateLogger(), _serverMessenger, _backofficeSecurityFactory); - _publishingRunner.TryAdd(task); - return task; - } - - private IBackgroundTask RegisterHealthCheckNotifier(HealthChecksSettings healthCheckSettingsConfig, - HealthCheckCollection healthChecks, HealthCheckNotificationMethodCollection notifications, - IProfilingLogger logger) - { - // If first run time not set, start with just small delay after application start - int delayInMilliseconds; - if (string.IsNullOrEmpty(healthCheckSettingsConfig.NotificationSettings.FirstRunTime)) - { - delayInMilliseconds = DefaultDelayMilliseconds; - } - else - { - // Otherwise start at scheduled time - delayInMilliseconds = DateTime.Now.PeriodicMinutesFrom(healthCheckSettingsConfig.NotificationSettings.FirstRunTime) * 60 * 1000; - if (delayInMilliseconds < DefaultDelayMilliseconds) - { - delayInMilliseconds = DefaultDelayMilliseconds; - } - } - - var periodInMilliseconds = healthCheckSettingsConfig.NotificationSettings.PeriodInHours * 60 * 60 * 1000; - var task = new HealthCheckNotifier(_healthCheckRunner, delayInMilliseconds, periodInMilliseconds, healthChecks, notifications, _mainDom, logger, _loggerFactory.CreateLogger(), _healthChecksSettings, _serverRegistrar, _runtime, _scopeProvider); - _healthCheckRunner.TryAdd(task); - return task; - } - - private IBackgroundTask RegisterLogScrubber(LoggingSettings settings) - { - // log scrubbing - // install on all, will only run on non-replica servers - var task = new LogScrubber(_scrubberRunner, DefaultDelayMilliseconds, LogScrubber.GetLogScrubbingInterval(), _mainDom, _serverRegistrar, _auditService, Options.Create(settings), _scopeProvider, _profilingLogger, _loggerFactory.CreateLogger()); - _scrubberRunner.TryAdd(task); - return task; - } - - private IBackgroundTask RegisterTempFileCleanup() - { - - var tempFolderPaths = new[] - { - _hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.TempFileUploads) - }; - - foreach (var tempFolderPath in tempFolderPaths) - { - //ensure it exists - Directory.CreateDirectory(tempFolderPath); - } - - // temp file cleanup, will run on all servers - even though file upload should only be handled on the master, this will - // ensure that in the case it happes on replicas that they are cleaned up. - var task = new TempFileCleanup(_fileCleanupRunner, DefaultDelayMilliseconds, OneHourMilliseconds, - tempFolderPaths.Select(x=>new DirectoryInfo(x)), - TimeSpan.FromDays(1), //files that are over a day old - _mainDom, _profilingLogger, _loggerFactory.CreateLogger()); - _scrubberRunner.TryAdd(task); - return task; - } - } -} diff --git a/src/Umbraco.Infrastructure/Scheduling/SchedulerComposer.cs b/src/Umbraco.Infrastructure/Scheduling/SchedulerComposer.cs deleted file mode 100644 index 8e71004d0c..0000000000 --- a/src/Umbraco.Infrastructure/Scheduling/SchedulerComposer.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using Umbraco.Core; -using Umbraco.Core.Composing; - -namespace Umbraco.Web.Scheduling -{ - /// - /// Used to do the scheduling for tasks, publishing, etc... - /// - /// - /// All tasks are run in a background task runner which is web aware and will wind down - /// the task correctly instead of killing it completely when the app domain shuts down. - /// - [RuntimeLevel(MinLevel = RuntimeLevel.Run)] - public sealed class SchedulerComposer : ComponentComposer, ICoreComposer - { } -} diff --git a/src/Umbraco.Infrastructure/Search/ExamineComposer.cs b/src/Umbraco.Infrastructure/Search/ExamineComposer.cs index 68a1213629..24e32949ae 100644 --- a/src/Umbraco.Infrastructure/Search/ExamineComposer.cs +++ b/src/Umbraco.Infrastructure/Search/ExamineComposer.cs @@ -1,4 +1,5 @@ -using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Models; using Umbraco.Core.PropertyEditors; @@ -22,33 +23,33 @@ namespace Umbraco.Web.Search // populators are not a collection: one cannot remove ours, and can only add more // the container can inject IEnumerable and get them all - composition.Register(Lifetime.Singleton); - composition.Register(Lifetime.Singleton); - composition.Register(Lifetime.Singleton); - composition.Register(Lifetime.Singleton); + composition.Services.AddSingleton(); + composition.Services.AddSingleton(); + composition.Services.AddSingleton(); + composition.Services.AddSingleton(); - composition.Register(Lifetime.Singleton); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(factory => + composition.Services.AddSingleton(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(factory => new ContentValueSetBuilder( - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), true)); - composition.RegisterUnique(factory => + composition.Services.AddUnique(factory => new ContentValueSetBuilder( - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService(), false)); - composition.RegisterUnique, MediaValueSetBuilder>(); - composition.RegisterUnique, MemberValueSetBuilder>(); - composition.RegisterUnique(); + composition.Services.AddUnique, MediaValueSetBuilder>(); + composition.Services.AddUnique, MemberValueSetBuilder>(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Infrastructure/Search/SearchableTreeCollectionBuilder.cs b/src/Umbraco.Infrastructure/Search/SearchableTreeCollectionBuilder.cs index 847264ee03..a5e940b4a6 100644 --- a/src/Umbraco.Infrastructure/Search/SearchableTreeCollectionBuilder.cs +++ b/src/Umbraco.Infrastructure/Search/SearchableTreeCollectionBuilder.cs @@ -1,4 +1,5 @@ -using Umbraco.Core.Composing; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; using Umbraco.Web.Trees; namespace Umbraco.Web.Search @@ -8,6 +9,6 @@ namespace Umbraco.Web.Search protected override SearchableTreeCollectionBuilder This => this; //per request because generally an instance of ISearchableTree is a controller - protected override Lifetime CollectionLifetime => Lifetime.Request; + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Scoped; } } diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs b/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs index b796f9b686..120c0500e2 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs @@ -1767,7 +1767,7 @@ namespace Umbraco.Core.Services.Implement #region Delete /// - public OperationResult Delete(IContent content, int userId) + public OperationResult Delete(IContent content, int userId = Constants.Security.SuperUserId) { var evtMsgs = EventMessagesFactory.Get(); @@ -1897,7 +1897,7 @@ namespace Umbraco.Core.Services.Implement #region Move, RecycleBin /// - public OperationResult MoveToRecycleBin(IContent content, int userId) + public OperationResult MoveToRecycleBin(IContent content, int userId = Constants.Security.SuperUserId) { var evtMsgs = EventMessagesFactory.Get(); var moves = new List<(IContent, string)>(); diff --git a/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs b/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs index cb9f802bc8..a2cbfe1f3d 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Net; using System.Xml.Linq; using Newtonsoft.Json; -using Umbraco.Composing; using Umbraco.Core.Composing; using Umbraco.Core.Models; using Umbraco.Core.PropertyEditors; diff --git a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs b/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs index b4c49b9509..78bb71bcf1 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs @@ -5,7 +5,6 @@ using System.IO; using System.Linq; using System.Xml; using System.Xml.Linq; -using Umbraco.Composing; using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Microsoft.Extensions.Logging; diff --git a/src/Umbraco.Infrastructure/Suspendable.cs b/src/Umbraco.Infrastructure/Suspendable.cs index e03931d0d7..33677062f1 100644 --- a/src/Umbraco.Infrastructure/Suspendable.cs +++ b/src/Umbraco.Infrastructure/Suspendable.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.Logging; -using Umbraco.Composing; +using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Examine; using Umbraco.Web.Cache; @@ -30,7 +30,7 @@ namespace Umbraco.Web public static void SuspendDocumentCache() { - Current.Logger.LogInformation("Suspend document cache."); + StaticApplicationLogging.Logger.LogInformation("Suspend document cache."); _suspended = true; } @@ -38,7 +38,7 @@ namespace Umbraco.Web { _suspended = false; - Current.Logger.LogInformation("Resume document cache (reload:{Tried}).", _tried); + StaticApplicationLogging.Logger.LogInformation("Resume document cache (reload:{Tried}).", _tried); if (_tried == false) return; _tried = false; @@ -74,7 +74,7 @@ namespace Umbraco.Web { _suspended = false; - Current.Logger.LogInformation("Resume indexers (rebuild:{Tried}).", _tried); + StaticApplicationLogging.Logger.LogInformation("Resume indexers (rebuild:{Tried}).", _tried); if (_tried == false) return; _tried = false; @@ -91,13 +91,13 @@ namespace Umbraco.Web public static void Suspend() { - Current.Logger.LogInformation("Suspend scheduled publishing."); + StaticApplicationLogging.Logger.LogInformation("Suspend scheduled publishing."); _suspended = true; } public static void Resume() { - Current.Logger.LogInformation("Resume scheduled publishing."); + StaticApplicationLogging.Logger.LogInformation("Resume scheduled publishing."); _suspended = false; } } diff --git a/src/Umbraco.Infrastructure/Sync/DatabaseServerMessenger.cs b/src/Umbraco.Infrastructure/Sync/DatabaseServerMessenger.cs index 16a83f45fe..856772148f 100644 --- a/src/Umbraco.Infrastructure/Sync/DatabaseServerMessenger.cs +++ b/src/Umbraco.Infrastructure/Sync/DatabaseServerMessenger.cs @@ -5,16 +5,17 @@ using System.Globalization; using System.IO; using System.Linq; using System.Threading; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NPoco; -using Microsoft.Extensions.Logging; using Umbraco.Core.Cache; -using Umbraco.Core.Composing; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Hosting; using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Dtos; -using Umbraco.Core.Hosting; using Umbraco.Core.Scoping; namespace Umbraco.Core.Sync @@ -30,13 +31,14 @@ namespace Umbraco.Core.Sync public class DatabaseServerMessenger : ServerMessengerBase, IDatabaseServerMessenger { private readonly IMainDom _mainDom; + private readonly IUmbracoDatabaseFactory _umbracoDatabaseFactory; private readonly ManualResetEvent _syncIdle; private readonly object _locko = new object(); private readonly IProfilingLogger _profilingLogger; private readonly IServerRegistrar _serverRegistrar; private readonly IHostingEnvironment _hostingEnvironment; private readonly CacheRefresherCollection _cacheRefreshers; - private readonly ISqlContext _sqlContext; + private readonly Lazy _distCacheFilePath; private int _lastId = -1; private DateTime _lastSync; @@ -45,22 +47,25 @@ namespace Umbraco.Core.Sync private bool _syncing; private bool _released; - public DatabaseServerMessengerOptions Options { get; } + public DatabaseServerMessengerCallbacks Callbacks { get; } + + public GlobalSettings GlobalSettings { get; } public DatabaseServerMessenger( - IMainDom mainDom, IScopeProvider scopeProvider, ISqlContext sqlContext, IProfilingLogger proflog, ILogger logger, IServerRegistrar serverRegistrar, - bool distributedEnabled, DatabaseServerMessengerOptions options, IHostingEnvironment hostingEnvironment, CacheRefresherCollection cacheRefreshers) + IMainDom mainDom, IScopeProvider scopeProvider, IUmbracoDatabaseFactory umbracoDatabaseFactory, IProfilingLogger proflog, ILogger logger, IServerRegistrar serverRegistrar, + bool distributedEnabled, DatabaseServerMessengerCallbacks callbacks, IHostingEnvironment hostingEnvironment, CacheRefresherCollection cacheRefreshers, IOptions globalSettings) : base(distributedEnabled) { ScopeProvider = scopeProvider ?? throw new ArgumentNullException(nameof(scopeProvider)); - _sqlContext = sqlContext; _mainDom = mainDom; + _umbracoDatabaseFactory = umbracoDatabaseFactory; _profilingLogger = proflog ?? throw new ArgumentNullException(nameof(proflog)); _serverRegistrar = serverRegistrar; _hostingEnvironment = hostingEnvironment; _cacheRefreshers = cacheRefreshers; Logger = logger; - Options = options ?? throw new ArgumentNullException(nameof(options)); + Callbacks = callbacks ?? throw new ArgumentNullException(nameof(callbacks)); + GlobalSettings = globalSettings.Value; _lastPruned = _lastSync = DateTime.UtcNow; _syncIdle = new ManualResetEvent(true); _distCacheFilePath = new Lazy(() => GetDistCacheFilePath(hostingEnvironment)); @@ -77,7 +82,7 @@ namespace Umbraco.Core.Sync protected IScopeProvider ScopeProvider { get; } - protected Sql Sql() => _sqlContext.Sql(); + protected Sql Sql() => _umbracoDatabaseFactory.SqlContext.Sql(); private string DistCacheFilePath => _distCacheFilePath.Value; @@ -199,14 +204,14 @@ namespace Umbraco.Core.Sync //check for how many instructions there are to process, each row contains a count of the number of instructions contained in each //row so we will sum these numbers to get the actual count. var count = database.ExecuteScalar("SELECT SUM(instructionCount) FROM umbracoCacheInstruction WHERE id > @lastId", new {lastId = _lastId}); - if (count > Options.MaxProcessingInstructionCount) + if (count > GlobalSettings.DatabaseServerMessenger.MaxProcessingInstructionCount) { //too many instructions, proceed to cold boot Logger.LogWarning( "The instruction count ({InstructionCount}) exceeds the specified MaxProcessingInstructionCount ({MaxProcessingInstructionCount})." + " The server will skip existing instructions, rebuild its caches and indexes entirely, adjust its last synced Id" + " to the latest found in the database and maintain cache updates based on that Id.", - count, Options.MaxProcessingInstructionCount); + count, GlobalSettings.DatabaseServerMessenger.MaxProcessingInstructionCount); coldboot = true; } @@ -224,8 +229,8 @@ namespace Umbraco.Core.Sync SaveLastSynced(maxId); // execute initializing callbacks - if (Options.InitializingCallbacks != null) - foreach (var callback in Options.InitializingCallbacks) + if (Callbacks.InitializingCallbacks != null) + foreach (var callback in Callbacks.InitializingCallbacks) callback(); } @@ -247,7 +252,7 @@ namespace Umbraco.Core.Sync if (_released) return; - if ((DateTime.UtcNow - _lastSync).TotalSeconds <= Options.ThrottleSeconds) + if ((DateTime.UtcNow - _lastSync) <= GlobalSettings.DatabaseServerMessenger.TimeBetweenSyncOperations) return; //Set our flag and the lock to be in it's original state (i.e. it can be awaited) @@ -264,7 +269,7 @@ namespace Umbraco.Core.Sync ProcessDatabaseInstructions(scope.Database); //Check for pruning throttling - if (_released || (DateTime.UtcNow - _lastPruned).TotalSeconds <= Options.PruneThrottleSeconds) + if (_released || (DateTime.UtcNow - _lastPruned) <= GlobalSettings.DatabaseServerMessenger.TimeBetweenPruneOperations) { scope.Complete(); return; @@ -446,7 +451,7 @@ namespace Umbraco.Core.Sync /// private void PruneOldInstructions(IUmbracoDatabase database) { - var pruneDate = DateTime.UtcNow.AddDays(-Options.DaysToRetainInstructions); + var pruneDate = DateTime.UtcNow - GlobalSettings.DatabaseServerMessenger.TimeToRetainInstructions; // using 2 queries is faster than convoluted joins diff --git a/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs b/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs index d115bc7595..f2918ffe96 100644 --- a/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs +++ b/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; -using Umbraco.Composing; using Umbraco.Core.Cache; using Microsoft.Extensions.Logging; @@ -157,7 +156,7 @@ namespace Umbraco.Core.Sync { if (refresher == null) throw new ArgumentNullException(nameof(refresher)); - Current.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type RefreshByPayload", refresher.GetType()); + StaticApplicationLogging.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type RefreshByPayload", refresher.GetType()); var payloadRefresher = refresher as IPayloadCacheRefresher; if (payloadRefresher == null) @@ -179,7 +178,7 @@ namespace Umbraco.Core.Sync { if (refresher == null) throw new ArgumentNullException(nameof(refresher)); - Current.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type {MessageType}", refresher.GetType(), messageType); + StaticApplicationLogging.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type {MessageType}", refresher.GetType(), messageType); switch (messageType) { @@ -240,7 +239,7 @@ namespace Umbraco.Core.Sync { if (refresher == null) throw new ArgumentNullException(nameof(refresher)); - Current.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type {MessageType}", refresher.GetType(), messageType); + StaticApplicationLogging.Logger.LogDebug("Invoking refresher {RefresherType} on local server for message type {MessageType}", refresher.GetType(), messageType); var typedRefresher = refresher as ICacheRefresher; diff --git a/src/Umbraco.Infrastructure/Trees/TreeNode.cs b/src/Umbraco.Infrastructure/Trees/TreeNode.cs index 5cf1054fc8..ad64f3dc5e 100644 --- a/src/Umbraco.Infrastructure/Trees/TreeNode.cs +++ b/src/Umbraco.Infrastructure/Trees/TreeNode.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Runtime.Serialization; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; @@ -106,20 +105,8 @@ namespace Umbraco.Web.Models.Trees { get { - if (IconIsClass) - return string.Empty; - - //absolute path with or without tilde - if (Icon.StartsWith("~") || Icon.StartsWith("/")) - return Current.IOHelper.ResolveUrl("~" + Icon.TrimStart('~')); - - //legacy icon path - - // TODO: replace this when we have something other than Current.Configs available - var backOfficePath = Current.GlobalSettings.GetUmbracoMvcArea(Current.HostingEnvironment); - - - return string.Format("{0}images/umbraco/{1}", backOfficePath.EnsureEndsWith("/"), Icon); + // TODO: Is this ever actually used? If not remove, if so, add setter. + return string.Empty; } } diff --git a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj index d8fbbd7fbd..b9368da89b 100644 --- a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj +++ b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj @@ -11,20 +11,17 @@ - - - - - - + + + diff --git a/src/Umbraco.Infrastructure/WebAssets/WebAssetsComposer.cs b/src/Umbraco.Infrastructure/WebAssets/WebAssetsComposer.cs index bea056c69c..b907d07627 100644 --- a/src/Umbraco.Infrastructure/WebAssets/WebAssetsComposer.cs +++ b/src/Umbraco.Infrastructure/WebAssets/WebAssetsComposer.cs @@ -8,7 +8,7 @@ namespace Umbraco.Web.WebAssets public override void Compose(Composition composition) { base.Compose(composition); - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComposer.cs b/src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComposer.cs index bc61f2eaee..03d90616ba 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComposer.cs +++ b/src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComposer.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Reflection; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Configuration; using Umbraco.Core; using Umbraco.Core.Logging; @@ -18,19 +19,19 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose public void Compose(Composition composition) { composition.Components().Append(); - composition.Register(Lifetime.Singleton); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddSingleton(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(factory => + composition.Services.AddUnique(); + composition.Services.AddUnique(factory => { - var config = factory.GetInstance>().Value; + var config = factory.GetRequiredService>().Value; if (config.ModelsMode == ModelsMode.PureLive) { - return factory.GetInstance(); + return factory.GetRequiredService(); // the following would add @using statement in every view so user's don't // have to do it - however, then noone understands where the @using statement // comes from, and it cannot be avoided / removed --- DISABLED @@ -49,8 +50,8 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose } else if (config.EnableFactory) { - var typeLoader = factory.GetInstance(); - var publishedValueFallback = factory.GetInstance(); + var typeLoader = factory.GetRequiredService(); + var publishedValueFallback = factory.GetRequiredService(); var types = typeLoader .GetTypes() // element models .Concat(typeLoader.GetTypes()); // content models diff --git a/src/Umbraco.PublishedCache.NuCache/NuCacheComposer.cs b/src/Umbraco.PublishedCache.NuCache/NuCacheComposer.cs index d3b1777163..ea8863dbd7 100644 --- a/src/Umbraco.PublishedCache.NuCache/NuCacheComposer.cs +++ b/src/Umbraco.PublishedCache.NuCache/NuCacheComposer.cs @@ -1,4 +1,5 @@ -using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Models; using Umbraco.Core.Scoping; @@ -15,19 +16,19 @@ namespace Umbraco.Web.PublishedCache.NuCache base.Compose(composition); // register the NuCache database data source - composition.Register(); + composition.Services.AddTransient(); // register the NuCache published snapshot service // must register default options, required in the service ctor - composition.Register(factory => new PublishedSnapshotServiceOptions()); + composition.Services.AddTransient(factory => new PublishedSnapshotServiceOptions()); composition.SetPublishedSnapshotService(); // replace this service since we want to improve the content/media // mapping lookups if we are using nucache. - composition.RegisterUnique(factory => + composition.Services.AddUnique(factory => { - var idkSvc = new IdKeyMap(factory.GetInstance()); - var publishedSnapshotService = factory.GetInstance() as PublishedSnapshotService; + var idkSvc = new IdKeyMap(factory.GetRequiredService()); + var publishedSnapshotService = factory.GetRequiredService() as PublishedSnapshotService; if (publishedSnapshotService != null) { idkSvc.SetMapper(UmbracoObjectTypes.Document, id => publishedSnapshotService.GetDocumentUid(id), uid => publishedSnapshotService.GetDocumentId(uid)); diff --git a/src/Umbraco.TestData/LoadTestController.cs b/src/Umbraco.TestData/LoadTestController.cs index 5d044d56e3..fbb031c6db 100644 --- a/src/Umbraco.TestData/LoadTestController.cs +++ b/src/Umbraco.TestData/LoadTestController.cs @@ -10,6 +10,7 @@ using System.Web.Routing; using System.Diagnostics; using Umbraco.Core.Composing; using System.Configuration; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Strings; // see https://github.com/Shazwazza/UmbracoScripts/tree/master/src/LoadTesting @@ -368,7 +369,7 @@ namespace Umbraco.TestData if (ConfigurationManager.AppSettings["Umbraco.TestData.Enabled"] != "true") return; - composition.Register(typeof(LoadTestController), Lifetime.Request); + composition.Services.AddScoped(typeof(LoadTestController)); } } } diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/languages.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/languages.ts index 49bcf94943..541c6d213d 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/languages.ts +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/languages.ts @@ -6,7 +6,7 @@ context('Languages', () => { }); it('Add language', () => { - const name = "Kyrgyz (Kyrgyzstan)"; // Must be an option in the select box + const name = "Afrikaans"; // Must be an option in the select box cy.umbracoEnsureLanguageNameNotExists(name); diff --git a/src/Umbraco.Tests.Common/Assertions.cs b/src/Umbraco.Tests.Common/Assertions.cs deleted file mode 100644 index 0f99a6a091..0000000000 --- a/src/Umbraco.Tests.Common/Assertions.cs +++ /dev/null @@ -1,35 +0,0 @@ -using LightInject; -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Umbraco.Tests.Common.Composing; - -namespace Umbraco.Tests.Common -{ - public class Assertions - { - public static void AssertContainer(ServiceContainer container, bool reportOnly = false) - { - var results = container.Validate().ToList(); - foreach (var resultGroup in results.GroupBy(x => x.Severity).OrderBy(x => x.Key)) - { - Console.WriteLine($"{resultGroup.Key}: {resultGroup.Count()}"); - } - - foreach (var resultGroup in results.GroupBy(x => x.Severity).OrderBy(x => x.Key)) - { - foreach (var result in resultGroup) - { - Console.WriteLine(); - Console.Write(result.ToText()); - } - } - - if (!reportOnly) - Assert.AreEqual(0, results.Count); - } - - } -} diff --git a/src/Umbraco.Tests.Common/Builders/AuditEntryBuilder.cs b/src/Umbraco.Tests.Common/Builders/AuditEntryBuilder.cs index cf31c2a14f..6efdc8aca8 100644 --- a/src/Umbraco.Tests.Common/Builders/AuditEntryBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/AuditEntryBuilder.cs @@ -25,14 +25,14 @@ namespace Umbraco.Tests.Common.Builders private int? _id; private Guid? _key; private DateTime? _updateDate; - private string _affectedDetails; - private int? _affectedUserId; - private string _eventDetails; - private string _eventType; - private string _performingDetails; - private string _performingIp; - private DateTime? _eventDateUtc; - private int? _performingUserId; + private string _affectedDetails = null; + private int? _affectedUserId = null; + private string _eventDetails = null; + private string _eventType = null; + private string _performingDetails = null; + private string _performingIp = null; + private DateTime? _eventDateUtc = null; + private int? _performingUserId = null; public AuditEntryBuilder(TParent parentBuilder) : base(parentBuilder) { diff --git a/src/Umbraco.Tests.Common/Builders/ContentVariantSaveBuilder.cs b/src/Umbraco.Tests.Common/Builders/ContentVariantSaveBuilder.cs index da031a804c..4b7b4b3d2b 100644 --- a/src/Umbraco.Tests.Common/Builders/ContentVariantSaveBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/ContentVariantSaveBuilder.cs @@ -15,8 +15,8 @@ namespace Umbraco.Tests.Common.Builders private string _name; private CultureInfo _cultureInfo; - private bool? _save; - private bool? _publish; + private bool? _save = null; + private bool? _publish = null; public ContentVariantSaveBuilder(TParent parentBuilder) : base(parentBuilder) { diff --git a/src/Umbraco.Tests.Common/Composing/LightInjectValidation.cs b/src/Umbraco.Tests.Common/Composing/LightInjectValidation.cs deleted file mode 100644 index 4925074b9e..0000000000 --- a/src/Umbraco.Tests.Common/Composing/LightInjectValidation.cs +++ /dev/null @@ -1,319 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using LightInject; -using System.Collections.Concurrent; -using System.Collections.ObjectModel; -using System.Reflection; -using ServiceMap = System.Collections.Generic.Dictionary>; - -/********************************************************************************* - The MIT License (MIT) - - Copyright (c) 2017 bernhard.richter@gmail.com - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -****************************************************************************** - LightInject.Validation version 1.0.1 - http://www.lightinject.net/ - http://twitter.com/bernhardrichter -******************************************************************************/ - -namespace Umbraco.Tests.Common.Composing -{ - public static class LightInjectValidation - { - private static readonly ConcurrentDictionary LifeSpans = new ConcurrentDictionary(); - - private const string NotDisposeMessageServiceType = - @"The service {0} is being injected as a constructor argument into {1} implements IDisposable, " + - "but is registered without a lifetime (transient). LightInject will not be able to dispose the instance represented by {0}. " + - "If the intent was to manually control the instantiation and destruction, inject Func<{0}> instead. " + - "Otherwise register `{0}` with a lifetime (PerContainer, PerRequest or PerScope)."; - - private const string NotDisposeMessageImplementingType = - @"The service {0} represented by {1} is being injected as a constructor argument into {2} implements IDisposable, " + - "but is registered without a lifetime (transient). LightInject will not be able to dispose the instance represented by {0}. " + - "If the intent was to manually control the instantiation and destruction, inject Func<{0}> instead. " + - "Otherwise register `{0}` with a lifetime (PerContainer, PerRequest or PerScope)."; - - - private const string MissingDeferredDependency = - @"The injected '{0}' does not contain a registration for the underlying type '{1}'. " + - "Ensure that '{1}' is registered so that the service can be resolved by '{0}'"; - - /* - The service 'NameSpace.IBar' that is being injected into 'NameSpace.Foo' is registered with -with a 'Transient' lifetime while the 'NameSpace.Foo' is registered with the 'PerScope' lifetime. -Ensure that 'NameSpace.IBar' is registered with a lifetime that is equal to or has a longer lifetime than the 'PerScope' lifetime. - */ - private const string CaptiveDependency = - @"The service '{0}' that is being injected into {1} is registered with " + - "a '{2}' lifetime while the {1} is registered with the '{3}' lifetime. " + - "Ensure that '{0}' is registered with a lifetime that is equal to or has a longer lifetime than the '{3}' lifetime. " + - "Alternatively ensure that `{1}` is registered with a lifetime that is equal to or " + - "has a shorter lifetime than `{2}` lifetime."; - - private const string MissingDependency = - "Class: 'NameSpace.Foo', Parameter 'NameSpace.IBar bar' -> The injected service NameSpace IBar is not registered." - ; - - - static LightInjectValidation() - { - LifeSpans.TryAdd(typeof(PerRequestLifeTime), 10); - LifeSpans.TryAdd(typeof(PerScopeLifetime), 20); - LifeSpans.TryAdd(typeof(PerContainerLifetime), 30); - } - - public static IEnumerable Validate(this ServiceContainer container) - { - var serviceMap = container.AvailableServices.GroupBy(sr => sr.ServiceType).ToDictionary(gr => gr.Key, - gr => gr.ToDictionary(sr => sr.ServiceName, sr => sr, StringComparer.OrdinalIgnoreCase)); - - var verifyableServices = container.AvailableServices.Where(sr => sr.ImplementingType != null); - - return verifyableServices.SelectMany(sr => - ValidateConstructor(serviceMap, sr, container.ConstructorSelector.Execute(sr.ImplementingType))); - } - - private static IReadOnlyCollection ValidateConstructor(ServiceMap serviceMap, - ServiceRegistration serviceRegistration, ConstructorInfo constructorInfo) - { - var result = new Collection(); - - foreach (var parameter in constructorInfo.GetParameters()) - { - var validationTarget = new ValidationTarget(serviceRegistration, parameter); - Validate(validationTarget, serviceMap, result); - } - return result; - } - - private static void Validate(ValidationTarget validationTarget, ServiceMap serviceMap, ICollection result) - { - var registration = GetServiceRegistration(serviceMap, validationTarget); - if (registration == null) - if (validationTarget.ServiceType.IsFunc() || validationTarget.ServiceType.IsLazy()) - { - var serviceType = validationTarget.ServiceType.GenericTypeArguments[0]; - var underlyingvalidationTarget = validationTarget.WithServiceDescription(serviceType, string.Empty); - registration = GetServiceRegistration(serviceMap, underlyingvalidationTarget); - - if (registration != null) - return; - - if (serviceMap.ContainsAmbiguousRegistrationFor(serviceType)) - result.Add(new ValidationResult("", ValidationSeverity.Ambiguous, underlyingvalidationTarget)); - else - { - var message = string.Format(MissingDeferredDependency, validationTarget.ServiceType, underlyingvalidationTarget.ServiceType); - result.Add(new ValidationResult(message, ValidationSeverity.MissingDependency, underlyingvalidationTarget)); - } - } - else if (validationTarget.ServiceType.IsGenericType && validationTarget.ServiceType.GetGenericTypeDefinition() == typeof(IEnumerable<>)) - { - var serviceType = validationTarget.ServiceType.GenericTypeArguments[0]; - var underlyingvalidationTarget = validationTarget.WithServiceDescription(serviceType, string.Empty); - var registrations = GetServiceRegistrations(serviceMap, underlyingvalidationTarget); - if (registrations.Any()) return; - - // strict: there has to be at least 1 - var message = string.Format(MissingDeferredDependency, validationTarget.ServiceType, underlyingvalidationTarget.ServiceType); - result.Add(new ValidationResult(message, ValidationSeverity.MissingDependency, underlyingvalidationTarget)); - } - else - if (serviceMap.ContainsAmbiguousRegistrationFor(validationTarget.ServiceType)) - result.Add(new ValidationResult("", ValidationSeverity.Ambiguous, validationTarget)); - else - result.Add(new ValidationResult("", ValidationSeverity.MissingDependency, validationTarget)); - else - { - ValidateDisposable(validationTarget, result, registration); - ValidateLifetime(validationTarget, registration, result); - } - } - - private static void ValidateDisposable(ValidationTarget validationTarget, ICollection result, - ServiceRegistration registration) - { - if (registration.ServiceType.Implements()) - { - var message = string.Format(NotDisposeMessageServiceType, registration.ServiceType, - validationTarget.DeclaringService.ImplementingType); - result.Add(new ValidationResult(message, ValidationSeverity.NotDisposed, validationTarget)); - } - - else if (registration.ImplementingType != null && registration.ImplementingType.Implements()) - { - var message = string.Format(NotDisposeMessageImplementingType, registration.ImplementingType, - registration.ServiceType, - validationTarget.DeclaringService.ImplementingType); - result.Add(new ValidationResult(message, ValidationSeverity.NotDisposed, validationTarget)); - } - } - - - private static void ValidateLifetime(ValidationTarget validationTarget, ServiceRegistration dependencyRegistration, ICollection result) - { - if (GetLifespan(validationTarget.DeclaringService.Lifetime) > GetLifespan(dependencyRegistration.Lifetime)) - { - var message = string.Format(CaptiveDependency, dependencyRegistration.ServiceType, - validationTarget.DeclaringService.ServiceType, GetLifetimeName(dependencyRegistration.Lifetime), - GetLifetimeName(validationTarget.DeclaringService.Lifetime)); - result.Add(new ValidationResult(message, ValidationSeverity.Captive, validationTarget)); - } - } - - public static void SetLifespan(int lifeSpan) where TLifetime : ILifetime - { - LifeSpans.TryAdd(typeof(TLifetime), lifeSpan); - } - - private static IEnumerable GetServiceRegistrations(ServiceMap serviceMap, ValidationTarget validationTarget) - { - return serviceMap.Where(x => validationTarget.ServiceType.IsAssignableFrom(x.Key)).SelectMany(x => x.Value.Values); - } - - private static ServiceRegistration GetServiceRegistration(ServiceMap serviceMap, ValidationTarget validationTarget) - { - if (!serviceMap.TryGetValue(validationTarget.ServiceType, out var registrations)) - return null; - - if (registrations.TryGetValue(string.Empty, out var registration)) - return registration; - - if (registrations.Count == 1) - return registrations.Values.First(); - - if (registrations.TryGetValue(validationTarget.ServiceName, out registration)) - return registration; - - return null; - } - - private static string GetLifetimeName(ILifetime lifetime) - { - if (lifetime == null) - return "Transient"; - return lifetime.GetType().Name; - } - - private static int GetLifespan(ILifetime lifetime) - { - if (lifetime == null) - return 0; - if (LifeSpans.TryGetValue(lifetime.GetType(), out var lifespan)) - return lifespan; - return 0; - } - } - - - public class ValidationTarget - { - public ServiceRegistration DeclaringService { get; } - public ParameterInfo Parameter { get; } - public Type ServiceType { get; } - public string ServiceName { get; } - - - public ValidationTarget(ServiceRegistration declaringRegistration, ParameterInfo parameter) : this(declaringRegistration, parameter, parameter.ParameterType, string.Empty) - { - } - - - public ValidationTarget(ServiceRegistration declaringService, ParameterInfo parameter, Type serviceType, string serviceName) - { - DeclaringService = declaringService; - Parameter = parameter; - ServiceType = serviceType; - ServiceName = serviceName; - - - if (serviceType.GetTypeInfo().IsGenericType && serviceType.GetTypeInfo().ContainsGenericParameters) - ServiceType = serviceType.GetGenericTypeDefinition(); - - } - - public ValidationTarget WithServiceDescription(Type serviceType, string serviceName) - { - return new ValidationTarget(DeclaringService, Parameter, serviceType, serviceName); - } - - } - - - - - - public class ValidationResult - { - public ValidationResult(string message, ValidationSeverity severity, ValidationTarget validationTarget) - { - Message = message; - Severity = severity; - ValidationTarget = validationTarget; - } - - public string Message { get; } - - public ValidationSeverity Severity { get; } - public ValidationTarget ValidationTarget { get; } - } - - public enum ValidationSeverity - { - NoIssues, - Captive, - NotDisposed, - MissingDependency, - Ambiguous - } - - internal static class TypeExtensions - { - public static bool Implements(this Type type) - { - return type.GetTypeInfo().ImplementedInterfaces.Contains(typeof(TBaseType)); - } - - public static bool IsFunc(this Type type) - { - var typeInfo = type.GetTypeInfo(); - return typeInfo.IsGenericType && typeInfo.GetGenericTypeDefinition() == typeof(Func<>); - } - - public static bool IsLazy(this Type type) - { - var typeInfo = type.GetTypeInfo(); - return typeInfo.IsGenericType && typeInfo.GetGenericTypeDefinition() == typeof(Lazy<>); - } - } - - internal static class ServiceMapExtensions - { - public static bool ContainsAmbiguousRegistrationFor(this ServiceMap serviceMap, Type serviceType) - { - if (!serviceMap.TryGetValue(serviceType, out var registrations)) - return false; - return registrations.Count > 1; - } - } -} diff --git a/src/Umbraco.Tests.Common/Composing/ValidationResultExtensions.cs b/src/Umbraco.Tests.Common/Composing/ValidationResultExtensions.cs deleted file mode 100644 index cfd136b63c..0000000000 --- a/src/Umbraco.Tests.Common/Composing/ValidationResultExtensions.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Text; -using Umbraco.Core; - -namespace Umbraco.Tests.Common.Composing -{ - // These are used for Light Inject container validation - public static class ValidationResultExtensions - { - public static string ToText(this ValidationResult result) - { - var text = new StringBuilder(); - - text.AppendLine($"{result.Severity}: {WordWrap(result.Message, 120)}"); - var target = result.ValidationTarget; - text.Append("\tsvce: "); - text.Append(target.ServiceName); - text.Append(target.DeclaringService.ServiceType); - if (!target.DeclaringService.ServiceName.IsNullOrWhiteSpace()) - { - text.Append(" '"); - text.Append(target.DeclaringService.ServiceName); - text.Append("'"); - } - - text.Append(" ("); - if (target.DeclaringService.Lifetime == null) - text.Append("Transient"); - else - text.Append(target.DeclaringService.Lifetime.ToString().TrimStart("LightInject.").TrimEnd("Lifetime")); - text.AppendLine(")"); - text.Append("\timpl: "); - text.Append(target.DeclaringService.ImplementingType); - text.AppendLine(); - text.Append("\tparm: "); - text.Append(target.Parameter); - text.AppendLine(); - - return text.ToString(); - } - - private static string WordWrap(string text, int width) - { - int pos, next; - var sb = new StringBuilder(); - var nl = Environment.NewLine; - - // Lucidity check - if (width < 1) - return text; - - // Parse each line of text - for (pos = 0; pos < text.Length; pos = next) - { - // Find end of line - var eol = text.IndexOf(nl, pos, StringComparison.Ordinal); - - if (eol == -1) - next = eol = text.Length; - else - next = eol + nl.Length; - - // Copy this line of text, breaking into smaller lines as needed - if (eol > pos) - { - do - { - var len = eol - pos; - - if (len > width) - len = BreakLine(text, pos, width); - - if (pos > 0) - sb.Append("\t\t"); - sb.Append(text, pos, len); - sb.Append(nl); - - // Trim whitespace following break - pos += len; - - while (pos < eol && char.IsWhiteSpace(text[pos])) - pos++; - - } while (eol > pos); - } - else sb.Append(nl); // Empty line - } - - return sb.ToString(); - } - - private static int BreakLine(string text, int pos, int max) - { - // Find last whitespace in line - var i = max - 1; - while (i >= 0 && !char.IsWhiteSpace(text[pos + i])) - i--; - if (i < 0) - return max; // No whitespace found; break at maximum length - // Find start of whitespace - while (i >= 0 && char.IsWhiteSpace(text[pos + i])) - i--; - // Return length of text before whitespace - return i + 1; - } - } -} diff --git a/src/Umbraco.Tests.Common/TestHelperBase.cs b/src/Umbraco.Tests.Common/TestHelperBase.cs index 511b100137..095879209a 100644 --- a/src/Umbraco.Tests.Common/TestHelperBase.cs +++ b/src/Umbraco.Tests.Common/TestHelperBase.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Reflection; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -120,9 +121,9 @@ namespace Umbraco.Tests.Common public IUmbracoVersion GetUmbracoVersion() => new UmbracoVersion(); - public IRegister GetRegister() + public IServiceCollection GetRegister() { - return RegisterFactory.Create(new GlobalSettings()); + return new ServiceCollection(); } public abstract IHostingEnvironment GetHostingEnvironment(); diff --git a/src/Umbraco.Tests.Common/Testing/UmbracoTestAttribute.cs b/src/Umbraco.Tests.Common/Testing/UmbracoTestAttribute.cs index 9248a45d78..f5983ddca6 100644 --- a/src/Umbraco.Tests.Common/Testing/UmbracoTestAttribute.cs +++ b/src/Umbraco.Tests.Common/Testing/UmbracoTestAttribute.cs @@ -62,7 +62,7 @@ namespace Umbraco.Tests.Testing throw new ArgumentException(nameof(other)); base.Merge(other); - + _boot.Set(attr.Boot); _mapper.Set(attr._mapper); _publishedRepositoryEvents.Set(attr._publishedRepositoryEvents); _logger.Set(attr._logger); diff --git a/src/Umbraco.Tests.Common/Umbraco.Tests.Common.csproj b/src/Umbraco.Tests.Common/Umbraco.Tests.Common.csproj index 5faf5a1279..aa39070cc7 100644 --- a/src/Umbraco.Tests.Common/Umbraco.Tests.Common.csproj +++ b/src/Umbraco.Tests.Common/Umbraco.Tests.Common.csproj @@ -6,10 +6,9 @@ - + - diff --git a/src/Umbraco.Tests.Integration/Logging/UmbracoTraceLog.UNITTEST.20181112.json b/src/Umbraco.Tests.Integration/Logging/UmbracoTraceLog.UNITTEST.20181112.json deleted file mode 100644 index 3a641a40ea..0000000000 --- a/src/Umbraco.Tests.Integration/Logging/UmbracoTraceLog.UNITTEST.20181112.json +++ /dev/null @@ -1,2410 +0,0 @@ -{"@t":"2018-11-12T08:34:45.8371142Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Booting Umbraco 8.0.0-alpha.52 on DELLBOOK.","TimingId":"9e76e5f","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8770471Z","@mt":"Runtime: {Runtime}","@l":"Debug","Runtime":"Umbraco.Web.Runtime.WebRuntime","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8780049Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Acquiring MainDom.","TimingId":"fa0a8ff","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8820357Z","@mt":"Acquiring.","SourceContext":"Umbraco.Core.MainDom","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8870222Z","@mt":"Acquired.","SourceContext":"Umbraco.Core.MainDom","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8890160Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Aquired.","Duration":9,"TimingId":"fa0a8ff","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:45.8899734Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Determining runtime level.","TimingId":"de01157","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.0515757Z","@mt":"Configuring.","@l":"Debug","SourceContext":"Umbraco.Core.Persistence.UmbracoDatabaseFactory","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.2091530Z","@mt":"Configured.","@l":"Debug","SourceContext":"Umbraco.Core.Persistence.UmbracoDatabaseFactory","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"Final upgrade state is {FinalMigrationState}, database contains {DatabaseState}","@l":"Debug","FinalMigrationState":"{6B251841-3069-4AD5-8AE9-861F9523E8DA}","DatabaseState":"{6B251841-3069-4AD5-8AE9-861F9523E8DA}","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"Runtime level: {RuntimeLevel}","@l":"Debug","RuntimeLevel":"Run","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Determined.","Duration":895,"TimingId":"de01157","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.7863814Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Resolving component types.","TimingId":"d88f42d","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.8053704Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Determining hash of code files on disk","TimingId":"e9adbba","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.8232811Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Hash determined","Duration":17,"TimingId":"e9adbba","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.8352878Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"f2620d0","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.8372858Z","@mt":"Assemblies changes detected, need to rescan everything.","@l":"Debug","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:46.8372858Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1055270Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1055270Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":270,"TimingId":"f2620d0","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1065263Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Components.IUmbracoComponent","TimingId":"c2611be","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1065263Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.Components.IUmbracoComponent","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.Components.IUmbracoComponent","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Components.IUmbracoComponent","Duration":9,"TimingId":"c2611be","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Resolved.","Duration":329,"TimingId":"d88f42d","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1164981Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Preparing component types.","TimingId":"e7ad952","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1444223Z","@mt":"Ordered Components: {SortedComponentTypes}","@l":"Debug","SortedComponentTypes":["Umbraco.Core.Runtime.CoreRuntimeComponent","Umbraco.Web.Runtime.WebRuntimeComponent","Umbraco.Web.Cache.CacheRefresherComponent","Umbraco.Core.Logging.WebProfilerComponent","Umbraco.Core.Components.AuditEventsComponent","Umbraco.Core.Components.ManifestWatcherComponent","Umbraco.Core.Components.RelateOnCopyComponent","Umbraco.Core.Components.RelateOnTrashComponent","Umbraco.Web.SignalR.PreviewHubComponent","Umbraco.Web.Search.ExamineComponent","Umbraco.Web.Scheduling.SchedulerComponent","Umbraco.ModelsBuilder.Umbraco.ModelsBuilderComponent","Umbraco.Web.PublishedCache.NuCache.NuCacheComponent","Umbraco.Web.PropertyEditors.PropertyEditorsComponent","Umbraco.Web.Components.BackOfficeUserAuditEventsComponent","Umbraco.Web.Components.NotificationsComponent","Umbraco.Web.Components.PublicAccessComponent","Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent","Umbraco.Core.Components.UmbracoCoreComponent"],"SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1444223Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Prepared component types.","Duration":27,"TimingId":"e7ad952","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1454207Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Instanciating components.","TimingId":"030399d","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1474142Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Instanciated components.","Duration":2,"TimingId":"030399d","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1484121Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Composing components. (log when >100ms)","TimingId":"ca1430e","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1763377Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"2bdc8f5","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"2bdc8f5","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.PropertyEditors.IPropertyValueConverter","TimingId":"13d4fd9","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IPropertyValueConverter","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1883061Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IPropertyValueConverter","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.1883061Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.PropertyEditors.IPropertyValueConverter","Duration":10,"TimingId":"13d4fd9","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.2152496Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting System.Web.Mvc.IController","TimingId":"5c51949","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.2152496Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"System.Web.Mvc.IController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.2162328Z","@mt":"Got {TypeName}.","@l":"Debug","TypeName":"System.Web.Mvc.IController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.2162328Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got System.Web.Mvc.IController","Duration":1,"TimingId":"5c51949","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3169624Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting System.Web.Http.Controllers.IHttpController","TimingId":"5fe641e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3169624Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"System.Web.Http.Controllers.IHttpController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3179595Z","@mt":"Got {TypeName}.","@l":"Debug","TypeName":"System.Web.Http.Controllers.IHttpController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3179595Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got System.Web.Http.Controllers.IHttpController","Duration":1,"TimingId":"5fe641e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"6ff2067","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"6ff2067","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.Mvc.SurfaceController","TimingId":"ee39a8f","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3299280Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.Mvc.SurfaceController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3399005Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.Mvc.SurfaceController","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3408994Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.Mvc.SurfaceController","Duration":11,"TimingId":"ee39a8f","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"f53e587","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"f53e587","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.WebApi.UmbracoApiController","TimingId":"502b5b8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.WebApi.UmbracoApiController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3498746Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.WebApi.UmbracoApiController","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3498746Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.WebApi.UmbracoApiController","Duration":8,"TimingId":"502b5b8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3598465Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Composed Umbraco.Web.Runtime.WebRuntimeComponent.","Duration":163,"TimingId":"f8ec818","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3638356Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Composed components.","Duration":215,"TimingId":"ca1430e","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.3797931Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Initializing components. (log when >100ms)","TimingId":"3ac2c10","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4137037Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"78edf39","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4137037Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"78edf39","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.PropertyEditors.IDataEditor","TimingId":"4f94a60","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IDataEditor","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4227008Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IDataEditor","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.4227008Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.PropertyEditors.IDataEditor","Duration":8,"TimingId":"4f94a60","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"df11c59","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"df11c59","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.Actions.IAction","TimingId":"48d0b43","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.Actions.IAction","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6600450Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.Actions.IAction","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:47.6600450Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.Actions.IAction","Duration":7,"TimingId":"48d0b43","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:48.7700754Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Initialised Umbraco.Core.Runtime.CoreRuntimeComponent.","Duration":1388,"TimingId":"48c0e52","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:49.0369724Z","@mt":"Loading content from local db...","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:49.0539274Z","@mt":"Loaded content from local db ({Duration}ms)","@l":"Debug","Duration":16,"SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.0193175Z","@mt":"Loading media from local db...","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.0193175Z","@mt":"Loaded media from local db ({Duration}ms)","@l":"Debug","Duration":0,"SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.2028672Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Initialised Umbraco.Web.Runtime.WebRuntimeComponent.","Duration":1432,"TimingId":"cfd6b8c","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.2048308Z","@mt":"Initializing Umbraco internal event handlers for cache refreshing.","SourceContext":"Umbraco.Web.Cache.CacheRefresherComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.2277994Z","@mt":"Examine shutdown registered with MainDom","@l":"Debug","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.2542336Z","@mt":"{IndexerName} indexer initializing","@l":"Debug","IndexerName":"InternalIndexer","SourceContext":"Umbraco.Examine.UmbracoContentIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.2981185Z","@mt":"{IndexerName} indexer initializing","@l":"Debug","IndexerName":"InternalMemberIndexer","SourceContext":"Umbraco.Examine.UmbracoMemberIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3050966Z","@mt":"{IndexerName} indexer initializing","@l":"Debug","IndexerName":"ExternalIndexer","SourceContext":"Umbraco.Examine.UmbracoContentIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3140744Z","@mt":"Adding examine event handlers for {RegisteredIndexers} index providers.","RegisteredIndexers":3,"SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3180640Z","@mt":"Forcing index {IndexerName} to be unlocked since it was left in a locked state","IndexerName":"InternalMemberIndexer","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3190624Z","@mt":"Forcing index {IndexerName} to be unlocked since it was left in a locked state","IndexerName":"InternalIndexer","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3200624Z","@mt":"Forcing index {IndexerName} to be unlocked since it was left in a locked state","IndexerName":"ExternalIndexer","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3210831Z","@mt":"Starting initialize async background thread.","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"7581323","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"7581323","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.HealthCheck.HealthCheck","TimingId":"3697358","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3260718Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.HealthCheck","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3360158Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.HealthCheck","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3360158Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.HealthCheck.HealthCheck","Duration":10,"TimingId":"3697358","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3491865Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.HealthCheck.NotificationMethods.IHealthCheckNotificationMethod","TimingId":"205a98e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3491865Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.NotificationMethods.IHealthCheckNotificationMethod","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3571685Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.NotificationMethods.IHealthCheckNotificationMethod","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.3571685Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.HealthCheck.NotificationMethods.IHealthCheckNotificationMethod","Duration":7,"TimingId":"205a98e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.4020456Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ServerRegistration] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.4020456Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ServerInstProcess] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.4030425Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Initialized components.","Duration":3022,"TimingId":"3ac2c10","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.4120182Z","@mt":"{LogPrefix} Stopping","@l":"Debug","LogPrefix":"[ServerRegistration] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:34:50.4120182Z","@mt":"{LogPrefix} Stopping","@l":"Debug","LogPrefix":"[ServerInstProcess] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:34:50.4150111Z","@mt":"Rebuilding index","@l":"Debug","SourceContext":"Umbraco.Examine.UmbracoMemberIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:34:50.4190399Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Booted.","Duration":4586,"TimingId":"9e76e5f","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} -{"@t":"2018-11-12T08:34:50.6145811Z","@mt":"Rebuilding index","@l":"Debug","SourceContext":"Umbraco.Examine.UmbracoContentIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:34:50.8110564Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800","RequestUrl":"http://localhost:8000/","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":2} -{"@t":"2018-11-12T08:34:50.8130503Z","@mt":"New url {Url} detected, re-discovering application url.","Url":"http://localhost:8000/umbraco","SourceContext":"Umbraco.Core.Sync.ApplicationUrlHelper","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:50.8150525Z","@mt":"ApplicationUrl: {UmbracoAppUrl} (UmbracoModule request)","UmbracoAppUrl":"http://localhost:8000/umbraco","SourceContext":"Umbraco.Core.Sync.ApplicationUrlHelper","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:50.8369870Z","@mt":"Rebuilding index","@l":"Debug","SourceContext":"Umbraco.Examine.UmbracoContentIndexer","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:34:51.3007471Z","@mt":"Creating snapshot.","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.ContentStore+Snapshot","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:51.3007471Z","@mt":"Creating snapshot.","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.ContentStore+Snapshot","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:51.3635780Z","@mt":"Umbraco has no content","@l":"Warning","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:52.5145008Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800","RequestUrl":"http://localhost:8000/config/splashes/noNodes.aspx","Duration":1695.4667000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":2} -{"@t":"2018-11-12T08:34:52.5184895Z","@mt":"Dispose snapshot ({Snapshot})","@l":"Debug","Snapshot":"1","SourceContext":"Umbraco.Web.PublishedCache.NuCache.ContentStore+Snapshot","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:52.5184895Z","@mt":"Dispose snapshot ({Snapshot})","@l":"Debug","Snapshot":"1","SourceContext":"Umbraco.Web.PublishedCache.NuCache.ContentStore+Snapshot","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":2,"HttpRequestId":"ac83dbf0-66b4-4e36-9adb-02ebba505800"} -{"@t":"2018-11-12T08:34:52.6082515Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"880d4fe6-2b6c-427c-9cda-aced3496da47","RequestUrl":"http://localhost:8000/Umbraco/assets/css/nonodes.style.min.css","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":3} -{"@t":"2018-11-12T08:34:53.0560566Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1f92d73d-f1eb-48aa-8637-7c4a7930bbab","RequestUrl":"http://localhost:8000/Umbraco/assets/img/nonodesbg.jpg","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":4} -{"@t":"2018-11-12T08:34:53.0580486Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"352ce5ad-c84b-4acd-bca9-43a0eaa5dd5d","RequestUrl":"http://localhost:8000/Umbraco/assets/img/logo.png","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":5} -{"@t":"2018-11-12T08:34:53.0720141Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0201add1-2f46-4875-8c23-4048bad00eea","RequestUrl":"http://localhost:8000/Umbraco/assets/fonts/lato/LatoLatin-Bold.woff","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":6} -{"@t":"2018-11-12T08:34:53.1119039Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4bbe5f67-8b76-4097-a453-c9014054c233","RequestUrl":"http://localhost:8000/Umbraco/assets/fonts/lato/LatoLatin-Italic.woff","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":7} -{"@t":"2018-11-12T08:34:53.1308532Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"959974f8-aa56-4372-9cce-0858344e3909","RequestUrl":"http://localhost:8000/Umbraco/assets/fonts/lato/LatoLatin-Regular.woff","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":8} -{"@t":"2018-11-12T08:34:53.2595111Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"80172e85-a7b1-4853-a619-0c4a71a7aade","RequestUrl":"http://localhost:8000/favicon.ico","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":9} -{"@t":"2018-11-12T08:37:54.1751391Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706","RequestUrl":"http://localhost:8000/umbraco","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":10} -{"@t":"2018-11-12T08:37:57.1382184Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"c2d39bb","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1382184Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1382184Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"c2d39bb","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1382184Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting [Umbraco.Web.Trees.TreeAttribute]Umbraco.Web.Trees.TreeController","TimingId":"9a2f9dc","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1382184Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"[Umbraco.Web.Trees.TreeAttribute]Umbraco.Web.Trees.TreeController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1471718Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"[Umbraco.Web.Trees.TreeAttribute]Umbraco.Web.Trees.TreeController","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.1471718Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got [Umbraco.Web.Trees.TreeAttribute]Umbraco.Web.Trees.TreeController","Duration":8,"TimingId":"9a2f9dc","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpSessionId":"bjm3dva3ozzwjofbsbjeshz1","HttpRequestNumber":10,"HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706"} -{"@t":"2018-11-12T08:37:57.2349256Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ff2564b7-d504-4a1d-930e-85ae7857b706","RequestUrl":"http://localhost:8000/umbraco/Default","Duration":3059.7865,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":10} -{"@t":"2018-11-12T08:37:57.2588627Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb","RequestUrl":"http://localhost:8000/umbraco/Application?umb__rnd=59e73005b5344a136d8da9c5c5b2e23b","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":11} -{"@t":"2018-11-12T08:37:57.2678379Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e4415a9e-ee00-4eee-b686-72a9ab01a0bc","RequestUrl":"http://localhost:8000/umbraco/assets/css/umbraco.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":12} -{"@t":"2018-11-12T08:37:57.2688368Z","@mt":"Initializing the scheduler","@l":"Debug","SourceContext":"Umbraco.Web.Scheduling.SchedulerComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.2728260Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.2748198Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"33f8cd80-5570-4bd4-a162-5c03ee027c6e","RequestUrl":"http://localhost:8000/umbraco/lib/font-awesome/css/font-awesome.min.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":13} -{"@t":"2018-11-12T08:37:57.2798063Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"892aa9c2-a99d-42ee-83de-f87dd0dd9100","RequestUrl":"http://localhost:8000/umbraco/lib/bootstrap-social/bootstrap-social.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":14} -{"@t":"2018-11-12T08:37:57.2798063Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"03854a08-2d0e-4cb3-9e3a-cf04ac94d3c8","RequestUrl":"http://localhost:8000/umbraco/lib/lazyload-js/lazyload.min.js","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":15} -{"@t":"2018-11-12T08:37:57.2857955Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[KeepAlive] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.2867874Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3057363Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3057363Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3067340Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ScheduledTasks] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3077316Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[LogScrubber] ","TaskType":"Umbraco.Web.Scheduling.LogScrubber","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3087288Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[LogScrubber] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3097256Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3107228Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ServerInstProcess] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3107228Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.3107228Z","@mt":"{LogPrefix} Starting","@l":"Debug","LogPrefix":"[ServerRegistration] ","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":11,"HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb"} -{"@t":"2018-11-12T08:37:57.4633152Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"47bf742b-9dd2-41f2-8e45-fc17fb44abeb","RequestUrl":"http://localhost:8000/umbraco/Application?umb__rnd=59e73005b5344a136d8da9c5c5b2e23b","Duration":204.45250000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":11} -{"@t":"2018-11-12T08:37:57.4732893Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6aff11f3-7a93-4e66-b3e6-29d04d6529d9","RequestUrl":"http://localhost:8000/umbraco/lib/jquery/jquery.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":16} -{"@t":"2018-11-12T08:37:57.4772786Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6b266108-0d9c-46c9-bcf5-6ce8e1cb1486","RequestUrl":"http://localhost:8000/umbraco/lib/jquery-ui-touch-punch/jquery.ui.touch-punch.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":17} -{"@t":"2018-11-12T08:37:57.4772786Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b2a6d254-587c-4343-ae9b-5850abcf1e29","RequestUrl":"http://localhost:8000/umbraco/lib/jquery-ui/jquery-ui.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":18} -{"@t":"2018-11-12T08:37:57.4792729Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6bd4fdb5-a03e-491f-a3ff-31da78c8550a","RequestUrl":"http://localhost:8000/umbraco/lib/angular/angular.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":19} -{"@t":"2018-11-12T08:37:57.4822650Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"33bb2d3a-5b02-45f0-b718-92fa59ba0ff3","RequestUrl":"http://localhost:8000/umbraco/lib/underscore/underscore-min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":20} -{"@t":"2018-11-12T08:37:57.4822650Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"64042e7e-8a86-4e2a-820b-5a770732d5ae","RequestUrl":"http://localhost:8000/umbraco/lib/moment/moment.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":21} -{"@t":"2018-11-12T08:37:57.5121855Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"25d8b50f-23ca-40b3-8f64-f0f9a11fe9fc","RequestUrl":"http://localhost:8000/umbraco/lib/animejs/anime.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":22} -{"@t":"2018-11-12T08:37:57.5540731Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"193fa41d-ae63-4cfb-8728-61668a655382","RequestUrl":"http://localhost:8000/umbraco/lib/angular-route/angular-route.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":23} -{"@t":"2018-11-12T08:37:57.5540731Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"65fa710d-07e3-40b8-aa9c-a89c99254304","RequestUrl":"http://localhost:8000/umbraco/lib/angular-cookies/angular-cookies.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":24} -{"@t":"2018-11-12T08:37:57.5590599Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"37f712d1-8296-410f-b54a-1d0f3b5b3904","RequestUrl":"http://localhost:8000/umbraco/lib/angular-touch/angular-touch.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":25} -{"@t":"2018-11-12T08:37:57.5630488Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"24d327f2-6b15-4a7c-8393-8d77b045558f","RequestUrl":"http://localhost:8000/umbraco/lib/angular-sanitize/angular-sanitize.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":26} -{"@t":"2018-11-12T08:37:57.5840009Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8674caa1-42fe-46c4-aef5-f63294d9ef7d","RequestUrl":"http://localhost:8000/umbraco/lib/angular-animate/angular-animate.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":27} -{"@t":"2018-11-12T08:37:57.5869892Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b3cd5a55-ee24-4f2d-a620-84897d51e1a4","RequestUrl":"http://localhost:8000/umbraco/lib/angular-messages/angular-messages.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":28} -{"@t":"2018-11-12T08:37:57.5939662Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5c281210-8066-413f-9d55-84d70df6eab0","RequestUrl":"http://localhost:8000/umbraco/lib/angular-ui-sortable/sortable.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":29} -{"@t":"2018-11-12T08:37:57.5949638Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1adf1b2d-b651-4feb-85ae-f8d1ac4ae81a","RequestUrl":"http://localhost:8000/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":30} -{"@t":"2018-11-12T08:37:57.6119183Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c8e87ff5-7ac1-4993-854d-74f6135ea777","RequestUrl":"http://localhost:8000/umbraco/lib/ng-file-upload/ng-file-upload.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":31} -{"@t":"2018-11-12T08:37:57.6119183Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2cfe443e-28a4-4077-bed8-4a78c0e89c12","RequestUrl":"http://localhost:8000/umbraco/lib/angular-local-storage/angular-local-storage.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":32} -{"@t":"2018-11-12T08:37:57.6198970Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2f6380e3-1541-410e-a979-262558749df2","RequestUrl":"http://localhost:8000/umbraco/lib/bootstrap/js/bootstrap.2.3.2.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":33} -{"@t":"2018-11-12T08:37:57.6268782Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"567fbde1-8569-4807-b97e-f16266f97528","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/Extensions.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":34} -{"@t":"2018-11-12T08:37:57.6288731Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2529cc19-01ad-41cc-a557-933548e03efc","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/NamespaceManager.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":35} -{"@t":"2018-11-12T08:37:57.6288731Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f84360b5-56fd-48ef-9439-4a393d969582","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/LegacyUmbClientMgr.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":36} -{"@t":"2018-11-12T08:37:57.6552791Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"16e3304b-28dc-4537-a792-b844fc6e5912","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/LegacySpeechBubble.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":37} -{"@t":"2018-11-12T08:37:57.6792092Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"000255bb-0530-4856-9a79-dd026b68aeb6","RequestUrl":"http://localhost:8000/umbraco/js/app.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":38} -{"@t":"2018-11-12T08:37:57.6792092Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"46189b5a-4f66-44f8-8dfb-70838037d77e","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.services.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":39} -{"@t":"2018-11-12T08:37:57.6812015Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"15080fa1-3aa4-4e88-a9b5-89b74d4ffda7","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.directives.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":40} -{"@t":"2018-11-12T08:37:57.6822086Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1fc34857-1a76-4b17-ab0d-b10635f7e40c","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.resources.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":41} -{"@t":"2018-11-12T08:37:57.6841937Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"cd9e6a27-f5b9-458c-93ff-7666d2fdd733","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.interceptors.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":42} -{"@t":"2018-11-12T08:37:57.6891807Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a5a4b806-673e-4e98-9cb8-42b856013445","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.filters.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":43} -{"@t":"2018-11-12T08:37:57.7061349Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c3adb018-7adc-4484-a9f7-c4758d7a30a9","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.controllers.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":44} -{"@t":"2018-11-12T08:37:57.7151111Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"3da30277-54c3-46e2-92c3-d6d3c94ed842","RequestUrl":"http://localhost:8000/umbraco/js/init.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":45} -{"@t":"2018-11-12T08:37:57.7161091Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1ac8fe32-4007-479f-8bf5-f9b13b87c76e","RequestUrl":"http://localhost:8000/umbraco/js/routes.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":46} -{"@t":"2018-11-12T08:37:57.7320658Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bf2718f4-a797-4f7b-8ff8-6a504290e615","RequestUrl":"http://localhost:8000/App_Plugins/ModelsBuilder/modelsbuilder.controller.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":47} -{"@t":"2018-11-12T08:37:57.7340606Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9a0bed25-ef51-4b11-aa70-b5313b46fc93","RequestUrl":"http://localhost:8000/App_Plugins/ModelsBuilder/modelsbuilder.resource.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":48} -{"@t":"2018-11-12T08:37:57.9255478Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"cd2812ac-0e0d-4310-b249-94f3dc0d4ce4","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-app-header.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":49} -{"@t":"2018-11-12T08:37:57.9265453Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ca8df7a8-7cd3-4cf3-af1a-9de186f8cedd","RequestUrl":"http://localhost:8000/umbraco/views/components/notifications/umb-notifications.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":50} -{"@t":"2018-11-12T08:37:57.9285449Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"51dad714-8e2d-489a-a69a-74f470eb8ef5","RequestUrl":"http://localhost:8000/umbraco/views/components/editor/umb-editors.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":51} -{"@t":"2018-11-12T08:37:57.9295384Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b92d587b-f8cd-4124-b872-6cc5cef2f37f","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-navigation.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":52} -{"@t":"2018-11-12T08:37:57.9345288Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8b6ddcfb-e2c9-479d-b66e-422ed122d9da","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/IsAuthenticated","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":53} -{"@t":"2018-11-12T08:37:57.9863913Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"18ea4d5e-b20b-46af-bf1e-a4622bd9c5a8","RequestUrl":"http://localhost:8000/umbraco/views/components/tree/umb-tree.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":54} -{"@t":"2018-11-12T08:37:57.9873834Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7ff26013-3de8-4df6-ac09-f74d6e4a5acc","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-contextmenu.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":55} -{"@t":"2018-11-12T08:37:58.0003541Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e6fc3af6-d01d-415a-9ead-095132372546","RequestUrl":"http://localhost:8000/umbraco/views/components/umb-avatar.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":56} -{"@t":"2018-11-12T08:37:58.0332606Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"466692b7-6378-478d-90e0-96ba1bd1bb73","RequestUrl":"http://localhost:8000/umbraco/assets/img/application/logo.png","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":57} -{"@t":"2018-11-12T08:37:58.1938303Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"8b6ddcfb-e2c9-479d-b66e-422ed122d9da","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/IsAuthenticated","Duration":258.3073,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":53} -{"@t":"2018-11-12T08:37:58.2028080Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2be8bef5-ffca-4df4-9f81-b9129af3d98f","RequestUrl":"http://localhost:8000/umbraco/views/common/login.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":58} -{"@t":"2018-11-12T08:37:58.2197622Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2e3129d3-e526-4cde-8904-56b861472d78","RequestUrl":"http://localhost:8000/umbraco/views/common/dialogs/login.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":59} -{"@t":"2018-11-12T08:37:58.2746165Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5b19f3cd-e014-4809-9e73-8b304336ac91","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":60} -{"@t":"2018-11-12T08:37:58.2756122Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"40a663a8-866c-437a-a616-2fb1d3881200","RequestUrl":"http://localhost:8000/umbraco/views/components/buttons/umb-button.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":61} -{"@t":"2018-11-12T08:37:58.2875801Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"54241569-97de-48dc-99f2-fa70798aa6be","RequestUrl":"http://localhost:8000/umbraco/assets/img/installer.jpg","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":62} -{"@t":"2018-11-12T08:37:58.3593883Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5b19f3cd-e014-4809-9e73-8b304336ac91","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","Duration":84.7718,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":60} -{"@t":"2018-11-12T08:38:03.0847807Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/PostLogin","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":63} -{"@t":"2018-11-12T08:38:04.2227119Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b546f880-2012-4905-bc49-9a290ebec282","RequestUrl":"http://localhost:8000/umbraco/lib/angular-local-storage/angular-local-storage.min.js.map","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":64} -{"@t":"2018-11-12T08:38:04.2247067Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a8336ec9-4521-4c49-b0e8-276f70eaf235","RequestUrl":"http://localhost:8000/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js.map","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":65} -{"@t":"2018-11-12T08:38:04.3015021Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"e783188","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3015021Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3015021Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"e783188","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3015021Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Cache.ICacheRefresher","TimingId":"7efaac8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3015021Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.Cache.ICacheRefresher","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3084821Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.Cache.ICacheRefresher","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3084821Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Cache.ICacheRefresher","Duration":6,"TimingId":"7efaac8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.3184548Z","@mt":"Invoking refresher {RefresherType} on local server for message type {MessageType}","@l":"Debug","RefresherType":"Umbraco.Web.Cache.UserCacheRefresher","MessageType":"RefreshById","SourceContext":"Umbraco.Core.Sync.ServerMessengerBase","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.4231755Z","@mt":"[{EventType}] Event Id: {EventId}, State: {State}","EventType":"Information","EventId":0,"State":"Login attempt succeeded for username warren@umbraco.com from IP address ::1","SourceContext":"Umbraco.Core.Logging.OwinLogger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.4241729Z","@mt":"[{EventType}] Event Id: {EventId}, State: {State}","EventType":"Information","EventId":0,"State":"User: warren@umbraco.com logged in from IP address ::1","SourceContext":"Umbraco.Core.Logging.OwinLogger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:04.9607485Z","@mt":"Could not validate XSRF token","@l":"Error","@x":"System.Web.Mvc.HttpAntiForgeryException (0x80004005): The anti-forgery token could not be decrypted. If this application is hosted by a Web Farm or cluster, ensure that all machines are running the same version of ASP.NET Web Pages and that the configuration specifies explicit encryption and validation keys. AutoGenerate cannot be used in a cluster.\r\n at System.Web.Helpers.AntiXsrf.AntiForgeryTokenSerializer.Deserialize(String serializedToken)\r\n at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext, String cookieToken, String formToken)\r\n at System.Web.Helpers.AntiForgery.Validate(String cookieToken, String formToken)\r\n at Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper.ValidateTokens(String cookieToken, String headerToken) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\WebApi\\Filters\\AngularAntiForgeryHelper.cs:line 58","SourceContext":"Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ERROR","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} -{"@t":"2018-11-12T08:38:05.0116370Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/PostLogin","Duration":1926.8563000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":63} -{"@t":"2018-11-12T08:38:05.1352743Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2b3637b3-c40d-48b3-a810-d6f07b3f68f3","RequestUrl":"http://localhost:8000/umbraco/ServerVariables?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":66} -{"@t":"2018-11-12T08:38:05.3247725Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2b3637b3-c40d-48b3-a810-d6f07b3f68f3","RequestUrl":"http://localhost:8000/umbraco/ServerVariables?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","Duration":189.4982,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":66} -{"@t":"2018-11-12T08:38:05.3327449Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"19c06b62-9200-41af-964f-3c1b7e006c9c","RequestUrl":"http://localhost:8000/umbraco/lib/angular-i18n/angular-locale_en-US.js","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":67} -{"@t":"2018-11-12T08:38:05.3347401Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a085ad93-8943-4275-ae6e-9997f2162a93","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/BackOfficeAssets/GetSupportedMomentLocales","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":68} -{"@t":"2018-11-12T08:38:05.3357371Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ee4c19ad-54fb-4a22-bf6e-9c9da26fb438","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":69} -{"@t":"2018-11-12T08:38:05.3377312Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e1087f73-b29f-4763-b894-b69dcddd0945","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Tour/GetTours","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":70} -{"@t":"2018-11-12T08:38:05.3467067Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"fe24fd53-b61f-47a8-9706-de9ef031a2b6","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-sections.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":71} -{"@t":"2018-11-12T08:38:05.3666541Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"08c54d21-7a1c-40f9-8740-f7e92bda28d7","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Content/AllowsCultureVariation","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":72} -{"@t":"2018-11-12T08:38:05.3995690Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":73} -{"@t":"2018-11-12T08:38:05.4075601Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":74} -{"@t":"2018-11-12T08:38:05.5262284Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"08c54d21-7a1c-40f9-8740-f7e92bda28d7","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Content/AllowsCultureVariation","Duration":159.5743,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":72} -{"@t":"2018-11-12T08:38:05.5262284Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a085ad93-8943-4275-ae6e-9997f2162a93","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/BackOfficeAssets/GetSupportedMomentLocales","Duration":191.4883,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":68} -{"@t":"2018-11-12T08:38:05.5352025Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2a3b9da8-441b-422a-b405-4471de4d908d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&isDialog=false","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":75} -{"@t":"2018-11-12T08:38:05.5611334Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting [Umbraco.Web.Models.Trees.ApplicationAttribute]Umbraco.Web.Models.Trees.IApplication","TimingId":"d2e9dc6","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":74,"HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3"} -{"@t":"2018-11-12T08:38:05.5611334Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"[Umbraco.Web.Models.Trees.ApplicationAttribute]Umbraco.Web.Models.Trees.IApplication","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":74,"HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3"} -{"@t":"2018-11-12T08:38:05.5661208Z","@mt":"Got {TypeName}.","@l":"Debug","TypeName":"[Umbraco.Web.Models.Trees.ApplicationAttribute]Umbraco.Web.Models.Trees.IApplication","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":74,"HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3"} -{"@t":"2018-11-12T08:38:05.5661208Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got [Umbraco.Web.Models.Trees.ApplicationAttribute]Umbraco.Web.Models.Trees.IApplication","Duration":5,"TimingId":"d2e9dc6","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":74,"HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3"} -{"@t":"2018-11-12T08:38:05.6060173Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e1087f73-b29f-4763-b894-b69dcddd0945","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Tour/GetTours","Duration":268.28610000000003,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":70} -{"@t":"2018-11-12T08:38:05.6129965Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0e9e51e5-7a7e-4f8b-9189-2599f0327b9f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":76} -{"@t":"2018-11-12T08:38:05.6848036Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"0e9e51e5-7a7e-4f8b-9189-2599f0327b9f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","Duration":71.8071,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":21,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":76} -{"@t":"2018-11-12T08:38:05.6858005Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:38:05.6887919Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:38:05.6897893Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:38:05.6907902Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:38:05.6917843Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:38:05.6917843Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} -{"@t":"2018-11-12T08:39:18.1562229Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f9683dae-21bd-479a-8fca-504b288c3875","RequestUrl":"http://localhost:8000/umbraco","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":77} -{"@t":"2018-11-12T08:39:18.1562229Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"511a0884-22a5-4369-beb9-80e75b1cb4dd","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":78} -{"@t":"2018-11-12T08:39:18.1632038Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7211c02","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.1961166Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":33,"TimingId":"7211c02","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.1971147Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2011032Z","@mt":"Does not run on servers with unknown role.","@l":"Debug","SourceContext":"Umbraco.Web.Scheduling.LogScrubber","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2011032Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[LogScrubber] ","TaskType":"Umbraco.Web.Scheduling.LogScrubber","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2021053Z","@mt":"Does not run on servers with unknown role.","@l":"Debug","SourceContext":"Umbraco.Web.Scheduling.ScheduledPublishing","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2021053Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2040952Z","@mt":"Does not run on servers with unknown role.","@l":"Debug","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":38,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2050926Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":38,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2060893Z","@mt":"Does not run on servers with unknown role.","@l":"Debug","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2060893Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2210546Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"511a0884-22a5-4369-beb9-80e75b1cb4dd","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":63.8342,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":78} -{"@t":"2018-11-12T08:39:18.2090826Z","@mt":"Unhandled controller exception occurred for request '{RequestUrl}'","@l":"Error","@x":"System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: This document already has an 'XmlDeclaration' node.\r\n at System.Xml.XmlDocument.IsValidChildType(XmlNodeType type)\r\n at System.Xml.XmlDocument.AppendChildForLoad(XmlNode newChild, XmlDocument doc)\r\n at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)\r\n at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)\r\n at System.Xml.XmlDocument.Load(XmlReader reader)\r\n at System.Xml.XmlDocument.Load(String filename)\r\n at umbraco.cms.businesslogic.packager.data.Reload(String dataSource) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\data.cs:line 69\r\n at umbraco.cms.businesslogic.packager.data.GetAllPackages(String dataSource) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\data.cs:line 170\r\n at umbraco.cms.businesslogic.packager.CreatedPackage.GetAllCreatedPackages() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\PackageInstance\\CreatedPackage.cs:line 53\r\n at Umbraco.Web.Trees.PackagesTreeController.GetTreeNodes(String id, FormDataCollection queryStrings) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\PackagesTreeController.cs:line 41\r\n at Umbraco.Web.Trees.TreeControllerBase.GetNodes(String id, FormDataCollection queryStrings) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\TreeControllerBase.cs:line 104\r\n at Umbraco.Web.Trees.ApplicationTreeExtensions.TryLoadFromControllerTree(ApplicationTree appTree, String id, FormDataCollection formCollection, HttpControllerContext controllerContext) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeExtensions.cs:line 167\r\n at Umbraco.Web.Trees.ApplicationTreeController.d__2.MoveNext() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeController.cs:line 164\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Umbraco.Web.Trees.ApplicationTreeController.d__0.MoveNext() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeController.cs:line 52\r\n --- End of inner exception stack trace ---\r\n at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\r\n at System.Threading.Tasks.Task`1.get_Result()\r\n at Umbraco.Web.Editors.SectionController.GetSections() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Editors\\SectionController.cs:line 54\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.b__3(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()\r\n---> (Inner Exception #0) System.InvalidOperationException: This document already has an 'XmlDeclaration' node.\r\n at System.Xml.XmlDocument.IsValidChildType(XmlNodeType type)\r\n at System.Xml.XmlDocument.AppendChildForLoad(XmlNode newChild, XmlDocument doc)\r\n at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)\r\n at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)\r\n at System.Xml.XmlDocument.Load(XmlReader reader)\r\n at System.Xml.XmlDocument.Load(String filename)\r\n at umbraco.cms.businesslogic.packager.data.Reload(String dataSource) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\data.cs:line 69\r\n at umbraco.cms.businesslogic.packager.data.GetAllPackages(String dataSource) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\data.cs:line 170\r\n at umbraco.cms.businesslogic.packager.CreatedPackage.GetAllCreatedPackages() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\_Legacy\\Packager\\PackageInstance\\CreatedPackage.cs:line 53\r\n at Umbraco.Web.Trees.PackagesTreeController.GetTreeNodes(String id, FormDataCollection queryStrings) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\PackagesTreeController.cs:line 41\r\n at Umbraco.Web.Trees.TreeControllerBase.GetNodes(String id, FormDataCollection queryStrings) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\TreeControllerBase.cs:line 104\r\n at Umbraco.Web.Trees.ApplicationTreeExtensions.TryLoadFromControllerTree(ApplicationTree appTree, String id, FormDataCollection formCollection, HttpControllerContext controllerContext) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeExtensions.cs:line 167\r\n at Umbraco.Web.Trees.ApplicationTreeController.d__2.MoveNext() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeController.cs:line 164\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Umbraco.Web.Trees.ApplicationTreeController.d__0.MoveNext() in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\Trees\\ApplicationTreeController.cs:line 52<---\r\n","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","SourceContext":"Umbraco.Web.Editors.SectionController","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ERROR","HttpRequestNumber":74,"HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3"} -{"@t":"2018-11-12T08:39:18.2090826Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:18.2250424Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","Duration":72824.4796,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":73} -{"@t":"2018-11-12T08:39:18.2479793Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4b4ea270-3ad3-438b-8092-777c19b737eb","RequestUrl":"http://localhost:8000/umbraco/views/common/dashboard.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":79} -{"@t":"2018-11-12T08:39:18.2609438Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b42d2134-aa4b-40a4-8484-d4633d22eef3","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","Duration":72851.4048,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":74} -{"@t":"2018-11-12T08:39:18.2888691Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9691f36c-c75f-4579-9b8b-76450eb980b5","RequestUrl":"http://localhost:8000/umbraco/views/components/overlays/umb-overlay.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":80} -{"@t":"2018-11-12T08:39:18.2968476Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c32e00cd-8de7-4159-9a0e-e4c806065ebb","RequestUrl":"http://localhost:8000/umbraco/assets/img/loader.gif","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":81} -{"@t":"2018-11-12T08:39:18.3058237Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"f9683dae-21bd-479a-8fca-504b288c3875","RequestUrl":"http://localhost:8000/umbraco/Default","Duration":149.60080000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":77} -{"@t":"2018-11-12T08:39:18.3058237Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ac61fadb-1242-4fe3-8693-59fb261d6fc4","RequestUrl":"http://localhost:8000/umbraco/views/components/umb-load-indicator.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":82} -{"@t":"2018-11-12T08:39:18.3147997Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0a9ffc1a-f6d6-4278-b1e2-38577b3e92d2","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":83} -{"@t":"2018-11-12T08:39:18.3167942Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"316404b6-1371-48c1-9e12-3ab2fcf9ff53","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetDashboard?section=content","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":84} -{"@t":"2018-11-12T08:39:18.3347461Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"0a9ffc1a-f6d6-4278-b1e2-38577b3e92d2","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","Duration":19.9464,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":83} -{"@t":"2018-11-12T08:39:18.3526980Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ccb26207-a349-443d-a7ce-1602b234201d","RequestUrl":"http://localhost:8000/umbraco/views/common/overlays/ysod/ysod.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":85} -{"@t":"2018-11-12T08:39:18.3576851Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"316404b6-1371-48c1-9e12-3ab2fcf9ff53","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetDashboard?section=content","Duration":38.8969,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":84} -{"@t":"2018-11-12T08:39:18.3975785Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6d82982b-bd76-4af2-b005-69a9a4d4d9b6","RequestUrl":"http://localhost:8000/umbraco/views/components/tabs/umb-tabs-nav.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":86} -{"@t":"2018-11-12T08:39:18.4015667Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8ca61d46-e3d2-4465-be6d-a0f5e24543bb","RequestUrl":"http://localhost:8000/umbraco/views/components/tabs/umb-tab-content.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":87} -{"@t":"2018-11-12T08:39:18.4733768Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2a3b9da8-441b-422a-b405-4471de4d908d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&isDialog=false","Duration":72937.1767,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":75} -{"@t":"2018-11-12T08:39:18.5342130Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9501395a-270f-4103-b122-96c09e8df064","RequestUrl":"http://localhost:8000/umbraco/assets/css/umbraco.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":88} -{"@t":"2018-11-12T08:39:18.5352119Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"fd728de5-d790-4df1-8482-9bdeacf172e1","RequestUrl":"http://localhost:8000/umbraco/Application?umb__rnd=928550284e1883f3256a93ce73f74afd","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":89} -{"@t":"2018-11-12T08:39:18.5352119Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"dc000af8-7a11-4cea-9196-2aa562970b43","RequestUrl":"http://localhost:8000/umbraco/lib/bootstrap-social/bootstrap-social.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":90} -{"@t":"2018-11-12T08:39:18.5372051Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"fd8a508a-37b1-4b50-8cba-e7601c1d7ab0","RequestUrl":"http://localhost:8000/umbraco/lib/lazyload-js/lazyload.min.js","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":91} -{"@t":"2018-11-12T08:39:18.5382018Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8e82094b-1516-4b90-ba25-b72686bca99f","RequestUrl":"http://localhost:8000/umbraco/lib/font-awesome/css/font-awesome.min.css?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":92} -{"@t":"2018-11-12T08:39:18.5591466Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"fd728de5-d790-4df1-8482-9bdeacf172e1","RequestUrl":"http://localhost:8000/umbraco/Application?umb__rnd=928550284e1883f3256a93ce73f74afd","Duration":23.9347,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":89} -{"@t":"2018-11-12T08:39:18.6678553Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ee4c19ad-54fb-4a22-bf6e-9c9da26fb438","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck","Duration":73332.1182,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":69} -{"@t":"2018-11-12T08:39:18.9451140Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7f6ea5f4-d112-4285-aef8-a599fe494dab","RequestUrl":"http://localhost:8000/umbraco/lib/jquery/jquery.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":93} -{"@t":"2018-11-12T08:39:18.9491031Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"de3f3aca-ae3b-4c5e-b1a3-1324ffd96630","RequestUrl":"http://localhost:8000/umbraco/lib/jquery-ui/jquery-ui.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":94} -{"@t":"2018-11-12T08:39:18.9520966Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"50c7359e-c05f-4536-b438-8bcfa9aa0859","RequestUrl":"http://localhost:8000/umbraco/lib/jquery-ui-touch-punch/jquery.ui.touch-punch.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":95} -{"@t":"2018-11-12T08:39:18.9540902Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0948fb64-6899-4c78-9ae9-374dfa47e528","RequestUrl":"http://localhost:8000/umbraco/lib/angular/angular.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":96} -{"@t":"2018-11-12T08:39:18.9570855Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"118cb536-2b3d-4bcc-bb06-58c1837a8d09","RequestUrl":"http://localhost:8000/umbraco/lib/underscore/underscore-min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":97} -{"@t":"2018-11-12T08:39:18.9590959Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c39e6ce4-14de-4cc5-864c-e22a814bb1e0","RequestUrl":"http://localhost:8000/umbraco/lib/moment/moment.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":98} -{"@t":"2018-11-12T08:39:18.9620681Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4b69ff9f-48c9-4ae4-82b5-4c2984c68068","RequestUrl":"http://localhost:8000/umbraco/lib/animejs/anime.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":99} -{"@t":"2018-11-12T08:39:18.9690496Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"45f7cd6a-4703-46d4-a019-ed529efaad16","RequestUrl":"http://localhost:8000/umbraco/lib/angular-route/angular-route.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":100} -{"@t":"2018-11-12T08:39:18.9720421Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ca49266d-0016-4838-a9a1-a33aa729f36d","RequestUrl":"http://localhost:8000/umbraco/lib/angular-cookies/angular-cookies.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":101} -{"@t":"2018-11-12T08:39:18.9780261Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"589a05a8-6fa7-4fa2-9842-dbc714bccd4d","RequestUrl":"http://localhost:8000/umbraco/lib/angular-touch/angular-touch.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":102} -{"@t":"2018-11-12T08:39:18.9800216Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f5b7506b-42d1-4b48-ad4d-4ae87c983ce6","RequestUrl":"http://localhost:8000/umbraco/lib/angular-sanitize/angular-sanitize.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":103} -{"@t":"2018-11-12T08:39:18.9810181Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b71cf9d2-902c-48b3-900b-5fe154e1e21c","RequestUrl":"http://localhost:8000/umbraco/lib/angular-animate/angular-animate.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":104} -{"@t":"2018-11-12T08:39:18.9870020Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ca1661b9-3eb0-4620-9132-4acfce37b62a","RequestUrl":"http://localhost:8000/umbraco/lib/angular-messages/angular-messages.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":105} -{"@t":"2018-11-12T08:39:18.9870020Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7e69d36c-f469-4af3-9713-4de2afaab362","RequestUrl":"http://localhost:8000/umbraco/lib/angular-ui-sortable/sortable.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":106} -{"@t":"2018-11-12T08:39:18.9949813Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"977abc11-e4c5-4853-88e3-9092060188b3","RequestUrl":"http://localhost:8000/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":107} -{"@t":"2018-11-12T08:39:18.9989715Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"674dcee6-79db-4ea9-9700-302ea34a4e6c","RequestUrl":"http://localhost:8000/umbraco/lib/ng-file-upload/ng-file-upload.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":108} -{"@t":"2018-11-12T08:39:18.9999676Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b038a3c4-fa83-428f-ab1d-d9bec8d908cb","RequestUrl":"http://localhost:8000/umbraco/lib/angular-local-storage/angular-local-storage.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":109} -{"@t":"2018-11-12T08:39:19.0069579Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4dcd04df-bf71-4364-a826-db893f53abec","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/Extensions.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":110} -{"@t":"2018-11-12T08:39:19.0069579Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6624e7b2-5bd5-418a-834a-980757286362","RequestUrl":"http://localhost:8000/umbraco/lib/bootstrap/js/bootstrap.2.3.2.min.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":111} -{"@t":"2018-11-12T08:39:19.0109380Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"02f90e2a-7773-4cfd-97e5-aec5c84118ac","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/NamespaceManager.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":112} -{"@t":"2018-11-12T08:39:19.0159249Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"77008b8b-9967-4377-a263-88015235617c","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/LegacyUmbClientMgr.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":113} -{"@t":"2018-11-12T08:39:19.0159249Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b68ac813-0f2f-44bd-9fda-d32fd18e7f3c","RequestUrl":"http://localhost:8000/umbraco/lib/umbraco/LegacySpeechBubble.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":114} -{"@t":"2018-11-12T08:39:19.0288903Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4f749b6f-42e9-404d-a5d2-24e676d9c0fd","RequestUrl":"http://localhost:8000/umbraco/js/app.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":115} -{"@t":"2018-11-12T08:39:19.0298875Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"42e16ea8-bdde-4ee7-9f17-34786a6103a3","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.resources.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":116} -{"@t":"2018-11-12T08:39:19.0308842Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2a0d4e64-539b-43ce-90d5-0e813eaec095","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.directives.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":117} -{"@t":"2018-11-12T08:39:19.0338769Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d2987330-541c-4764-8e94-3fb83222c8d1","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.filters.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":118} -{"@t":"2018-11-12T08:39:19.0378658Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7c35b922-910a-439d-ba99-f46ae0224343","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.services.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":119} -{"@t":"2018-11-12T08:39:19.0428527Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c45dc39b-3f96-4fc1-b0cf-93bb04c7b722","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.interceptors.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":120} -{"@t":"2018-11-12T08:39:19.0438500Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8a7953bd-3d49-4e0f-9cba-993d6e432c3b","RequestUrl":"http://localhost:8000/umbraco/js/umbraco.controllers.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":121} -{"@t":"2018-11-12T08:39:19.0618024Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e434d0c0-a2f6-4ced-94c6-317d4895d6c0","RequestUrl":"http://localhost:8000/umbraco/js/routes.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":122} -{"@t":"2018-11-12T08:39:19.0837430Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"211066a0-e8c1-4c33-b2e3-6c8e3c6ea488","RequestUrl":"http://localhost:8000/umbraco/js/init.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":123} -{"@t":"2018-11-12T08:39:19.0877368Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"11f817fa-0d16-4c98-a48d-097c0ac9c126","RequestUrl":"http://localhost:8000/App_Plugins/ModelsBuilder/modelsbuilder.controller.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":124} -{"@t":"2018-11-12T08:39:19.1036907Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5869796d-30e0-4c0d-b185-2ef9d78fd281","RequestUrl":"http://localhost:8000/App_Plugins/ModelsBuilder/modelsbuilder.resource.js?cdv=1","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":125} -{"@t":"2018-11-12T08:39:19.1804849Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8c7e32b1-7d5d-4eb8-87d9-142eea40c172","RequestUrl":"http://localhost:8000/umbraco/assets/fonts/lato/LatoLatin-Regular.woff","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":126} -{"@t":"2018-11-12T08:39:19.3939140Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f8abc43d-f029-43f1-8279-39919c83e1f3","RequestUrl":"http://localhost:8000/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js.map","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":127} -{"@t":"2018-11-12T08:39:19.3998995Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bb68735d-ecb0-441d-bc5b-14d3bb3f2543","RequestUrl":"http://localhost:8000/umbraco/lib/angular-local-storage/angular-local-storage.min.js.map","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":128} -{"@t":"2018-11-12T08:39:19.5594716Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8c6c79c0-5d60-49c8-952a-6afa6ed554a5","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-app-header.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":129} -{"@t":"2018-11-12T08:39:19.5594716Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2d726ed6-f0b2-4d68-820b-b53ab3eefba5","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-navigation.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":130} -{"@t":"2018-11-12T08:39:19.5644587Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e7cacfd4-cf4c-45ab-babe-fb2e0a28f691","RequestUrl":"http://localhost:8000/umbraco/views/components/editor/umb-editors.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":131} -{"@t":"2018-11-12T08:39:19.5654550Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b94e3f94-a0a8-4e93-b357-094fbee46781","RequestUrl":"http://localhost:8000/umbraco/views/components/notifications/umb-notifications.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":132} -{"@t":"2018-11-12T08:39:19.5744314Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"379c4ac5-5f25-478b-83fc-293a684bada1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/IsAuthenticated","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":133} -{"@t":"2018-11-12T08:39:19.5854042Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"379c4ac5-5f25-478b-83fc-293a684bada1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/IsAuthenticated","Duration":8.9777,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":133} -{"@t":"2018-11-12T08:39:19.6463208Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bc8878e1-96ef-498f-827a-ccedbe724d45","RequestUrl":"http://localhost:8000/umbraco/views/components/umb-avatar.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":134} -{"@t":"2018-11-12T08:39:19.6802317Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"53e2c17c-f4ad-492f-a202-5ddd2917406f","RequestUrl":"http://localhost:8000/umbraco/views/components/tree/umb-tree.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":135} -{"@t":"2018-11-12T08:39:19.6822250Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4c88cfd5-5552-4bc5-843c-1f7964cbba76","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-contextmenu.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":136} -{"@t":"2018-11-12T08:39:19.7011741Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"3c5bcff2-7487-4cba-a966-667505524a94","RequestUrl":"http://localhost:8000/umbraco/ServerVariables?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":137} -{"@t":"2018-11-12T08:39:19.7400697Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"45552a18-4951-467d-a04c-ac8b712fdc31","RequestUrl":"http://localhost:8000/umbraco/assets/img/application/logo.png","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":138} -{"@t":"2018-11-12T08:39:19.7510410Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"3c5bcff2-7487-4cba-a966-667505524a94","RequestUrl":"http://localhost:8000/umbraco/ServerVariables?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","Duration":49.8669,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":137} -{"@t":"2018-11-12T08:39:19.7879438Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5e556b17-9de2-4e5a-92a6-32a4ccc8b147","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetCurrentUser","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":139} -{"@t":"2018-11-12T08:39:19.7899413Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b355644f-9168-4a3c-a6be-29fd6c24a3ba","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetCurrentUser","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":140} -{"@t":"2018-11-12T08:39:19.7999106Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ded13097-517f-4588-a9d9-758dcf032233","RequestUrl":"http://localhost:8000/favicon.ico","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":141} -{"@t":"2018-11-12T08:39:19.8527688Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b355644f-9168-4a3c-a6be-29fd6c24a3ba","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetCurrentUser","Duration":61.8312,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":140} -{"@t":"2018-11-12T08:39:19.8617454Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"785c0164-da5c-4142-b85f-abc70e616071","RequestUrl":"http://localhost:8000/umbraco/lib/angular-i18n/angular-locale_en-US.js","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":142} -{"@t":"2018-11-12T08:39:19.8617454Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5391b542-c0e4-40ea-8e68-4c90d896d0d8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":143} -{"@t":"2018-11-12T08:39:19.8647369Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"dcd1fa67-95a7-42d5-b957-bafddd4add35","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Tour/GetTours","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":144} -{"@t":"2018-11-12T08:39:19.8777039Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"805c8a1b-5660-477f-b504-9b1b84239053","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Content/AllowsCultureVariation","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":145} -{"@t":"2018-11-12T08:39:19.8777039Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bb22cf40-04c0-4e39-b320-4bc4d6fd11c9","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":146} -{"@t":"2018-11-12T08:39:19.8787030Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f632ab10-fe6b-4c25-aa7c-793e7a96eda5","RequestUrl":"http://localhost:8000/umbraco/views/components/application/umb-sections.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":147} -{"@t":"2018-11-12T08:39:19.8906682Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f1fa8a51-fd1d-43b6-8484-ceeea7ee2860","RequestUrl":"http://localhost:8000/umbraco/assets/fonts/helveticons/helveticons.ttf","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":148} -{"@t":"2018-11-12T08:39:19.9185933Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8cfe2e95-89dc-4d54-a7d6-ce6c0b9a10ee","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":149} -{"@t":"2018-11-12T08:39:19.9455216Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"bb22cf40-04c0-4e39-b320-4bc4d6fd11c9","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","Duration":66.8186,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":146} -{"@t":"2018-11-12T08:39:19.9485129Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"dcd1fa67-95a7-42d5-b957-bafddd4add35","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Tour/GetTours","Duration":82.7786,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":144} -{"@t":"2018-11-12T08:39:19.9594831Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"86fd9067-7c84-4cbf-9567-1312dc87341b","RequestUrl":"http://localhost:8000/umbraco/views/common/dashboard.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":150} -{"@t":"2018-11-12T08:39:19.9774356Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"805c8a1b-5660-477f-b504-9b1b84239053","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Content/AllowsCultureVariation","Duration":99.7317,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":145} -{"@t":"2018-11-12T08:39:19.9794303Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9263cef7-1a74-498f-814b-1b1a05da259a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":151} -{"@t":"2018-11-12T08:39:19.9914043Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9740b246-0675-4235-a0d1-ee45e9b8545c","RequestUrl":"http://localhost:8000/umbraco/assets/img/loader.gif","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":152} -{"@t":"2018-11-12T08:39:19.9963857Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9263cef7-1a74-498f-814b-1b1a05da259a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","Duration":16.9554,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":151} -{"@t":"2018-11-12T08:39:20.0023700Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5e43f2c1-ac86-4a7d-af5b-9ca09716fc24","RequestUrl":"http://localhost:8000/umbraco/views/components/umb-load-indicator.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":153} -{"@t":"2018-11-12T08:39:20.0043643Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9d76010b-10d0-4052-929d-c8a7efc7c14c","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":154} -{"@t":"2018-11-12T08:39:20.0063584Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a2cc7d8d-9cdb-401b-9ffc-9b19aa153ef8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetDashboard?section=content","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":155} -{"@t":"2018-11-12T08:39:20.0143369Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a2cc7d8d-9cdb-401b-9ffc-9b19aa153ef8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetDashboard?section=content","Duration":6.9774,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":155} -{"@t":"2018-11-12T08:39:20.0163316Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9d76010b-10d0-4052-929d-c8a7efc7c14c","RequestUrl":"http://localhost:8000/umbraco/LocalizedText","Duration":11.9673,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":154} -{"@t":"2018-11-12T08:39:20.0282988Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"181a966b-d54a-4172-a8b9-2f6aae6059cc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&isDialog=false","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":156} -{"@t":"2018-11-12T08:39:20.0472495Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"80381514-04bd-415e-a72b-d0df69a1db5e","RequestUrl":"http://localhost:8000/umbraco/views/components/tabs/umb-tabs-nav.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":157} -{"@t":"2018-11-12T08:39:20.0492442Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"af2cbaa8-587d-4891-b840-1566f4c9cb36","RequestUrl":"http://localhost:8000/umbraco/views/components/tabs/umb-tab-content.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":158} -{"@t":"2018-11-12T08:39:20.0502410Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"8cfe2e95-89dc-4d54-a7d6-ce6c0b9a10ee","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Section/GetSections","Duration":131.64770000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":149} -{"@t":"2018-11-12T08:39:20.0652008Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5e556b17-9de2-4e5a-92a6-32a4ccc8b147","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetCurrentUser","Duration":276.2572,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":139} -{"@t":"2018-11-12T08:39:20.1080858Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1502e814-50f3-4226-b95f-faab6a7f2811","RequestUrl":"http://localhost:8000/umbraco/views/dashboard/default/startupdashboardintro.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":159} -{"@t":"2018-11-12T08:39:20.1190590Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"3ac0e625-70af-4d03-b7ed-2673818cde37","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/BackOfficeAssets/GetSupportedMomentLocales","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":160} -{"@t":"2018-11-12T08:39:20.1300274Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9a76f436-e828-4369-8635-a276c008ef29","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetRemoteDashboardCss?section=content&umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":161} -{"@t":"2018-11-12T08:39:20.1340248Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ff350a2a-d052-4d12-9c5e-7b9732bfae4e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetRemoteDashboardContent?section=content","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":162} -{"@t":"2018-11-12T08:39:20.1350146Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"fe0d4cbc-9651-408e-aada-72b5323cfb66","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":163} -{"@t":"2018-11-12T08:39:20.1400011Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"3ac0e625-70af-4d03-b7ed-2673818cde37","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/BackOfficeAssets/GetSupportedMomentLocales","Duration":19.9465,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":160} -{"@t":"2018-11-12T08:39:20.1509721Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"fe0d4cbc-9651-408e-aada-72b5323cfb66","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours","Duration":15.957500000000001,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":163} -{"@t":"2018-11-12T08:39:20.1629404Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5391b542-c0e4-40ea-8e68-4c90d896d0d8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck","Duration":301.195,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":143} -{"@t":"2018-11-12T08:39:20.2676590Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"181a966b-d54a-4172-a8b9-2f6aae6059cc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&isDialog=false","Duration":239.36020000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":156} -{"@t":"2018-11-12T08:39:20.2786309Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"42077644-ed25-4b1e-867f-a6b4bc650599","RequestUrl":"http://localhost:8000/umbraco/views/components/tree/umb-tree-item.html?umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":164} -{"@t":"2018-11-12T08:39:20.2856114Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8ec94766-22ec-4ab4-9dc2-1faedca078f7","RequestUrl":"http://localhost:8000/umbraco/assets/fonts/lato/LatoLatin-Bold.woff","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":165} -{"@t":"2018-11-12T08:39:20.3464487Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9a76f436-e828-4369-8635-a276c008ef29","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetRemoteDashboardCss?section=content&umb__rnd=708cf4cddc451d0bcd0581e9a01b49f7","Duration":216.4213,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":161} -{"@t":"2018-11-12T08:39:20.3933226Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ff350a2a-d052-4d12-9c5e-7b9732bfae4e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Dashboard/GetRemoteDashboardContent?section=content","Duration":259.2978,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":162} -{"@t":"2018-11-12T08:39:23.2018152Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ed67ead","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:23.2367219Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":34,"TimingId":"ed67ead","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:23.2367219Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:28.2513127Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b113ade","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:28.2862301Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":34,"TimingId":"b113ade","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:28.2862301Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:33.2958165Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8a1e23c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:33.3366825Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":40,"TimingId":"8a1e23c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:33.3366825Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:38.3524102Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4fbbb44","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:38.4480092Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"4fbbb44","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:38.4480092Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:43.4496384Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"24a55ee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:43.5304213Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"24a55ee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:43.5304213Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:48.5453412Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dacc0f8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:48.5921815Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":47,"TimingId":"dacc0f8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:48.5921815Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:50.1300765Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"abefec3a-5c38-4899-b516-3a44d5a4ba37","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":166} -{"@t":"2018-11-12T08:39:50.1390909Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"abefec3a-5c38-4899-b516-3a44d5a4ba37","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":8.0204,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":166} -{"@t":"2018-11-12T08:39:53.5969438Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"47f343b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:53.6666142Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"47f343b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:53.6676221Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:58.6682789Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"72ca08e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:58.7380549Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"72ca08e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:39:58.7390543Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":9,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:03.7397336Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3506f5d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:03.7985246Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"3506f5d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:03.7985246Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:08.8082528Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3f1703b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:08.8839275Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"3f1703b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:08.8839275Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:13.8845933Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"259fcf4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:13.9294440Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":45,"TimingId":"259fcf4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:13.9304418Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.2159936Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"9d76e68","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.2229673Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":7,"TimingId":"9d76e68","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.2229673Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.3067451Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.4054875Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.9370544Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"19fb8dc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.9819354Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":44,"TimingId":"19fb8dc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:18.9819354Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:23.9825715Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5866b8e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:24.0882861Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":105,"TimingId":"5866b8e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:24.0882861Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:24.8821629Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"605bec0b-5272-4901-91e7-6218cd653edc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":167} -{"@t":"2018-11-12T08:40:25.0347518Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"605bec0b-5272-4901-91e7-6218cd653edc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":151.5918,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":167} -{"@t":"2018-11-12T08:40:29.0889380Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3743a38","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:29.1218346Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":33,"TimingId":"3743a38","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:29.1218346Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:34.1365640Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1321744","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:34.1982524Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"1321744","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:34.1982524Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":27,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:39.2000173Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"efcb667","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:39.2687033Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"efcb667","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:39.2687033Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:44.2693262Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1367a26","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:44.3212038Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"1367a26","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:44.3212038Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:49.3228889Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b4aee20","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:49.3986122Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"b4aee20","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:49.3986122Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":28,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:54.3995122Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8bf0cd0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:54.4354195Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":36,"TimingId":"8bf0cd0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:54.4363792Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:55.1564556Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bab0eee0-5896-4aa1-a2bd-62ddb2309309","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":168} -{"@t":"2018-11-12T08:40:55.1624375Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"bab0eee0-5896-4aa1-a2bd-62ddb2309309","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9844,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":168} -{"@t":"2018-11-12T08:40:59.4379755Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cba0f9e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:59.5127036Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"cba0f9e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:40:59.5127036Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:04.5134713Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9e0ec3a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:04.5768092Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"9e0ec3a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:04.5768092Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:09.5900537Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f8c4871","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:09.6657149Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"f8c4871","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:09.6657149Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:14.6676123Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4aa3e77","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:14.7562355Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"4aa3e77","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:14.7572333Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:18.2321373Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"b23a358","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:18.2322992Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"b23a358","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:18.2322992Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:18.4256270Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:18.5810079Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":24,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:19.7622388Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ebb8186","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:19.8011483Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":39,"TimingId":"ebb8186","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:19.8011483Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:24.8036513Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5aabd60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:24.8594736Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"5aabd60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:24.8594736Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:29.8714293Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a8c0b61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:29.8973556Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4a28c479-9612-4296-a659-4eceb68bf586","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":24,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":169} -{"@t":"2018-11-12T08:41:29.9332575Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"a8c0b61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:29.9332575Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:30.0250125Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"4a28c479-9612-4296-a659-4eceb68bf586","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":126.6597,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":169} -{"@t":"2018-11-12T08:41:34.9463209Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b56c4c2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:34.9973282Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"b56c4c2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:34.9973282Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:40.0104531Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6dc5c6f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:40.0493592Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":39,"TimingId":"6dc5c6f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:40.0503475Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:45.0522779Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c5fe1bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:45.1250528Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"c5fe1bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:45.1250528Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:50.1357379Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e221f49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:50.2036167Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"e221f49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:50.2036167Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:55.2054153Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b076c2a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:55.2804702Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"b076c2a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:41:55.2804702Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:00.2948589Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fca23f2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:00.3756538Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"fca23f2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:00.3756538Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:01.2192197Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"327aaf7c-ca3e-448f-9b2f-b1e9219a3ffb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":25,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":170} -{"@t":"2018-11-12T08:42:01.2232089Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"327aaf7c-ca3e-448f-9b2f-b1e9219a3ffb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":2.9915000000000003,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":24,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":170} -{"@t":"2018-11-12T08:42:05.3890698Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2dca930","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:05.4509002Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"2dca930","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:05.4509002Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:10.4523098Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5799997","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:10.5061843Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"5799997","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:10.5061843Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:15.5073021Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7295026","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:15.5960212Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":88,"TimingId":"7295026","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:15.5960212Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:18.2338810Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"d5c8918","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":23,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:18.2338810Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"d5c8918","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":23,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:18.2338810Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":23,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:18.5316857Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:18.7540166Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":23,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:20.6068363Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0c10a8b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:20.6696335Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"0c10a8b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:20.6696335Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:25.6723576Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"450b3fa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:25.7576247Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"450b3fa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:25.7576247Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:30.7666537Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2508556","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:30.8390391Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"2508556","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:30.8399924Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:33.2326932Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b8ed4461-c28d-41bd-ab6b-cc10af8a2fa1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":23,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":171} -{"@t":"2018-11-12T08:42:33.4004470Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b8ed4461-c28d-41bd-ab6b-cc10af8a2fa1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":166.75650000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":171} -{"@t":"2018-11-12T08:42:35.8558800Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3a23491","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:35.9067410Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"3a23491","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:35.9067410Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:40.9190487Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"24d758c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:40.9764305Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"24d758c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:40.9764305Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:45.9776637Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a47b636","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:46.0542795Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"a47b636","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:46.0542795Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:51.0681448Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3726c8d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:51.1575322Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"3726c8d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:51.1575322Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:56.1581734Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c6d5002","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:56.2520906Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"c6d5002","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:42:56.2520906Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:01.2663872Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2eb1c21","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:01.3335640Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"2eb1c21","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:01.3335640Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:06.2192161Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bd56ef59-bc6d-4463-9fba-1671c46e9c91","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":172} -{"@t":"2018-11-12T08:43:06.2262007Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"bd56ef59-bc6d-4463-9fba-1671c46e9c91","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9846,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":172} -{"@t":"2018-11-12T08:43:06.3394781Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5b2d6e4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":11,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:06.4189988Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"5b2d6e4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":11,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:06.4189988Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":11,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:11.4322582Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6353327","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:11.4940457Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"6353327","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:11.4940457Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:16.4951588Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3836b53","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:16.5745784Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"3836b53","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:16.5745784Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:18.2356542Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"5e30c1a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:18.2356542Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"5e30c1a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:18.2356542Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:18.6293472Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":19,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:18.9123389Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":22,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:21.5900666Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7fd52f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:21.6810473Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":90,"TimingId":"7fd52f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:21.6810473Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:26.6816874Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a323dad","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:26.7769533Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"a323dad","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:26.7769533Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:31.7771891Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"59be7d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:31.8385920Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"59be7d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:31.8385920Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:36.8401603Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5620402","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:36.9213397Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"5620402","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:36.9213397Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":14,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:38.2419542Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"816df696-bbfd-4505-b6a8-d85eb7adcc7b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":42,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":173} -{"@t":"2018-11-12T08:43:38.4416691Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"816df696-bbfd-4505-b6a8-d85eb7adcc7b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":199.7149,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":173} -{"@t":"2018-11-12T08:43:41.9340053Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5ed0dd6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:41.9998352Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"5ed0dd6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:41.9998352Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:47.0025067Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0a35314","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:47.0463900Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":43,"TimingId":"0a35314","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:47.0463900Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:52.0474101Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4d5f612","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:52.1525713Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":105,"TimingId":"4d5f612","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:52.1535949Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:57.1556565Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b9d3106","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:57.2124686Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"b9d3106","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:43:57.2124686Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:02.2141455Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b2adf1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:02.2960416Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"b2adf1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:02.2960416Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:07.3080255Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"66e90b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:07.3568892Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"66e90b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:07.3568892Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:10.2258830Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f147294d-417f-446b-adb8-b3239b09f976","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":174} -{"@t":"2018-11-12T08:44:10.2328658Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"f147294d-417f-446b-adb8-b3239b09f976","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9828,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":174} -{"@t":"2018-11-12T08:44:12.3707787Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c68305c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:12.4792198Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":109,"TimingId":"c68305c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:12.4792198Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:17.4814361Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"18844b4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:17.5612192Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"18844b4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:17.5612192Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:18.2141381Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"e03d9f0","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":42,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:18.2460539Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"568d1d8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:18.2470646Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":1,"TimingId":"568d1d8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:18.2480576Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:18.2540400Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c8ba1bfa-8d26-4aa1-adfd-d91fac8b5691","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":175} -{"@t":"2018-11-12T08:44:18.7351982Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:19.1011624Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:20.4235503Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"c8ba1bfa-8d26-4aa1-adfd-d91fac8b5691","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":2168.5165,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":175} -{"@t":"2018-11-12T08:44:20.4275306Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":2212,"TimingId":"e03d9f0","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":44,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:20.4275306Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":44,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:22.5732073Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9777d31","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:22.6695911Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"9777d31","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:22.6695911Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:27.6725034Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"708d40b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:27.7484653Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"708d40b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:27.7484653Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:32.7490897Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"49031cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:32.8221930Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"49031cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:32.8221930Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:37.8233050Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"186c18d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:37.8893721Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"186c18d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:37.8893721Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:42.9028843Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"025a81e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:42.9663636Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"025a81e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:42.9674180Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:43.2356843Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"874a29ce-55fb-492c-9810-e766d3bbdeda","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":40,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":176} -{"@t":"2018-11-12T08:44:43.4872369Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"874a29ce-55fb-492c-9810-e766d3bbdeda","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":249.55190000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":176} -{"@t":"2018-11-12T08:44:47.9717460Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"796ad0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:48.0491456Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"796ad0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:48.0491456Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:53.0635286Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"43d7bcb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:53.1338036Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"43d7bcb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:53.1338036Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:58.1349340Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e688151","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:58.2037075Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"e688151","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:44:58.2037075Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:03.2047946Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7029b0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:03.2665523Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"7029b0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:03.2665523Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:08.2800845Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"afd580f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:08.3584862Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"afd580f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:08.3594882Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:13.3607061Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6b4f6c6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:13.4177357Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":56,"TimingId":"6b4f6c6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:13.4177357Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:15.2269592Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"73aaee4f-aae1-41fd-b375-7f9ea92d6b1e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":177} -{"@t":"2018-11-12T08:45:15.2349322Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"73aaee4f-aae1-41fd-b375-7f9ea92d6b1e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9295,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":177} -{"@t":"2018-11-12T08:45:18.2603001Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"9cdf943","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.2612622Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"9cdf943","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.2612622Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.4336521Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1f4e799","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.5146694Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"1f4e799","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.5146694Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:18.8256175Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:19.3061017Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:23.5176157Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3a050dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:23.6325649Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":115,"TimingId":"3a050dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:23.6335613Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:28.6412300Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cec8f1c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:28.7142864Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"cec8f1c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:28.7142864Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:33.7152236Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"79fc3f8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:33.8111200Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"79fc3f8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:33.8111200Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:38.8114685Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"401d15c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:38.8798164Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"401d15c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:38.8798164Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":12,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:43.8814689Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dcc2ff7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:43.9914741Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":109,"TimingId":"dcc2ff7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:43.9914741Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:47.2236660Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"80e323de-94c7-4ca8-b419-b502e49c005c","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":178} -{"@t":"2018-11-12T08:45:47.4076862Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"80e323de-94c7-4ca8-b419-b502e49c005c","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":183.02380000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":47,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":178} -{"@t":"2018-11-12T08:45:49.0035043Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"545d3fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:49.0839433Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"545d3fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:49.0839433Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:54.0854593Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"78c773b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:54.1567520Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"78c773b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:54.1567520Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":16,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:59.1572171Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"620f786","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:59.2309690Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"620f786","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:45:59.2319674Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:04.2450558Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4078de4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:04.3147837Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"4078de4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:04.3147837Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:09.3241923Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fdbe982","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:09.3999846Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"fdbe982","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:09.3999846Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:14.4010922Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"59a0d69","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:14.4689083Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"59a0d69","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:14.4689083Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:18.2619994Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"817c2b3","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:18.2629985Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"817c2b3","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:18.2639869Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:18.9108503Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:19.2186305Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7c03ed97-8bfe-4b01-b7cf-7e4b433db23d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":179} -{"@t":"2018-11-12T08:46:19.2246141Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"7c03ed97-8bfe-4b01-b7cf-7e4b433db23d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9895000000000005,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":179} -{"@t":"2018-11-12T08:46:19.4699671Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"08fdd3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:19.4774616Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":7,"TimingId":"08fdd3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:19.4774616Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:19.4954137Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:24.4794930Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a60db9e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:24.5333477Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"a60db9e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:24.5333477Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:29.5422634Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9f7db4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:29.6091134Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"9f7db4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:29.6091134Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:34.6214896Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0e77caf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:34.7057911Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"0e77caf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:34.7057911Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:39.7138023Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e924699","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:39.7606574Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":47,"TimingId":"e924699","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:39.7616533Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:44.7632637Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d76c3d2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:44.8221025Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"d76c3d2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:44.8221025Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:49.8240656Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a5cad16","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:49.9178409Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":94,"TimingId":"a5cad16","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:49.9178409Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:51.2212806Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7a47a801-cede-4258-be96-c77ccbbf4424","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":180} -{"@t":"2018-11-12T08:46:51.3697071Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"7a47a801-cede-4258-be96-c77ccbbf4424","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":147.39350000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":180} -{"@t":"2018-11-12T08:46:54.9219734Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6408036","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:54.9708677Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":48,"TimingId":"6408036","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:54.9708677Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:46:59.9828884Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a5cc147","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:00.0706007Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":87,"TimingId":"a5cc147","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:00.0706007Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:05.0846392Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"81dc199","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:05.1775675Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"81dc199","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:05.1785655Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:10.1885592Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9fd28cf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:10.2437164Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"9fd28cf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:10.2437164Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:15.2460984Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e2f2cef","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:15.3168802Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"e2f2cef","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:15.3168802Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:18.2796545Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"e0b5152","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:18.2796545Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"e0b5152","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:18.2796545Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":10,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:19.0193601Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:19.6783167Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:20.3268546Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0fe2374","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:20.4069876Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"0fe2374","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:20.4069876Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:23.2239184Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4f0368c0-d576-485f-97ef-7adab4dbc0de","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":181} -{"@t":"2018-11-12T08:47:23.2354072Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"4f0368c0-d576-485f-97ef-7adab4dbc0de","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":10.5083,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":181} -{"@t":"2018-11-12T08:47:25.4144570Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4c3b8ac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:25.4905633Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"4c3b8ac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:25.4915519Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:30.4950645Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bd9eb15","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:30.5902308Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":94,"TimingId":"bd9eb15","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:30.5902308Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:35.5944901Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9a5d863","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:35.6708218Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"9a5d863","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:35.6708218Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:40.6711509Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e9e0570","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:40.7579003Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"e9e0570","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:40.7579003Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:45.7591631Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c38e9e6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:45.8267580Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"c38e9e6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:45.8267580Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:50.8266973Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2ca58ed","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:50.8663505Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":39,"TimingId":"2ca58ed","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:50.8663505Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:55.2250403Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e4ffa09e-89bf-4790-9f1a-450b20f72f2b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":182} -{"@t":"2018-11-12T08:47:55.4018019Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e4ffa09e-89bf-4790-9f1a-450b20f72f2b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":175.7032,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":61,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":182} -{"@t":"2018-11-12T08:47:55.8706540Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"349b2bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:55.9084805Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":37,"TimingId":"349b2bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:47:55.9084805Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:00.9176751Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a92f47d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:01.0084310Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":90,"TimingId":"a92f47d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:01.0084310Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:06.0212826Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0604666","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:06.0771260Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"0604666","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:06.0771260Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:11.0779740Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e32b4aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:11.1532729Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"e32b4aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:11.1532729Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:16.1544794Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d8fba60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:16.1932364Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":38,"TimingId":"d8fba60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:16.1932364Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:18.2927716Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"4b83bed","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:18.2938315Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":1,"TimingId":"4b83bed","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:18.2947843Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":55,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:19.0977126Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:19.8564006Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":54,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:21.2054807Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8ee60dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:21.3231662Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":117,"TimingId":"8ee60dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:21.3231662Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:26.3273118Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"55ec233","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:26.3654481Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":38,"TimingId":"55ec233","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:26.3654481Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:28.2240228Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"47cd1199-b729-4f76-b08c-80e13f8127bf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":183} -{"@t":"2018-11-12T08:48:28.2280069Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"47cd1199-b729-4f76-b08c-80e13f8127bf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9841,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":183} -{"@t":"2018-11-12T08:48:31.3774195Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"88acdd9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:31.4492466Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"88acdd9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:31.4492466Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:36.4500595Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cce888e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:36.5302558Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"cce888e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:36.5302558Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:41.5508095Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"97c775d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:41.6450838Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"97c775d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:41.6450838Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:46.6474900Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5edb756","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:46.7237252Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"5edb756","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:46.7247231Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:51.7377184Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5ff50a9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:51.7922907Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"5ff50a9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:51.7922907Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:56.7941856Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"39f1eeb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:56.9080418Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":113,"TimingId":"39f1eeb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:48:56.9080418Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:00.2277217Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6bac05e9-6ba0-4d26-9a8e-0b0c27bc54e0","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":184} -{"@t":"2018-11-12T08:49:00.4632057Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"6bac05e9-6ba0-4d26-9a8e-0b0c27bc54e0","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":235.484,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":184} -{"@t":"2018-11-12T08:49:01.9093343Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"81276b6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:01.9683287Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"81276b6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:01.9683287Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:06.9693350Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"363f976","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:07.0495275Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"363f976","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:07.0495275Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:12.0593760Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"474d471","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:12.1387379Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"474d471","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:12.1396897Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:17.1405111Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5bb01c8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:17.1978157Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"5bb01c8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:17.1978157Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:18.2963560Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"40eed8b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:18.2973029Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"40eed8b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:18.2983028Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:19.2194903Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:20.0775699Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":68,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:20.4428890Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"41e6426","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:20.4538611Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"8e92079d-98a0-4d03-a45a-a1136c07ac31","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":185} -{"@t":"2018-11-12T08:49:20.4692964Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"8e92079d-98a0-4d03-a45a-a1136c07ac31","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":14.378400000000001,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":185} -{"@t":"2018-11-12T08:49:20.4732656Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":30,"TimingId":"41e6426","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":49,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:20.4742466Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":49,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:22.2003162Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"617a37a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:22.2826329Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"617a37a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:22.2836193Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:27.2844842Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"21ac31b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:27.3562900Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"21ac31b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:27.3572884Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:32.2195568Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"24c18465-254d-4668-9024-df6380ee2f44","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":186} -{"@t":"2018-11-12T08:49:32.2285307Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"24c18465-254d-4668-9024-df6380ee2f44","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":7.9735000000000005,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":186} -{"@t":"2018-11-12T08:49:32.3617577Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5d6d3fb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:32.4406780Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"5d6d3fb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:32.4406780Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:37.4479262Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"73a109b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:37.5550240Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":106,"TimingId":"73a109b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:37.5550240Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:42.5658755Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e1322a8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:42.6496490Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"e1322a8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:42.6496490Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:47.6510499Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9ad5525","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:47.7308358Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"9ad5525","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:47.7308358Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:52.7330701Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"62abc49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:52.7962727Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"62abc49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:52.7962727Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:57.7983386Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"591101d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:57.8721341Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"591101d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:49:57.8721341Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:02.8720873Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bf7faa5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:02.9099952Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":38,"TimingId":"bf7faa5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:02.9099952Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:04.2248108Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"c20bd228-2592-4c45-bea9-23b4b1555f03","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":187} -{"@t":"2018-11-12T08:50:04.4458507Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"c20bd228-2592-4c45-bea9-23b4b1555f03","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":219.9999,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":187} -{"@t":"2018-11-12T08:50:07.9190539Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"524f3d9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:07.9881735Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"524f3d9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:07.9881735Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:13.0029101Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"877801a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:13.0647119Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"877801a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:13.0647119Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.0673942Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"97aa0b1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.1777138Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":110,"TimingId":"97aa0b1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.1777138Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.3084003Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"e19357c","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.3084003Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"e19357c","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:18.3084003Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:19.3581410Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:20.7167692Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:23.1854529Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d57c512","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:23.2803821Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"d57c512","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:23.2813788Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:28.2872461Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a7ddd96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:28.4118392Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":124,"TimingId":"a7ddd96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:28.4128705Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:33.4183748Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"af8a17e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:33.4733079Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"af8a17e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:33.4733079Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:36.2270268Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a9af04ac-9c9e-4be8-962f-ddc3ef07124e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":188} -{"@t":"2018-11-12T08:50:36.2379923Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a9af04ac-9c9e-4be8-962f-ddc3ef07124e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":9.9583000000000013,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":188} -{"@t":"2018-11-12T08:50:38.4796984Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8a4aeee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:38.5215789Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":41,"TimingId":"8a4aeee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:38.5215789Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:43.5294088Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d0855d0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:43.6377487Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":108,"TimingId":"d0855d0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:43.6377487Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:48.6526265Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c6b7b12","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":75,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:48.7477287Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"c6b7b12","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":75,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:48.7487289Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":75,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:53.7528721Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f54e563","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:53.8256721Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"f54e563","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:53.8256721Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:58.8398682Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9cead5f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":81,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:58.9201687Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"9cead5f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":81,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:50:58.9201687Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":81,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:03.9213677Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fa81641","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:04.0081341Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"fa81641","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:04.0081341Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:08.2209720Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7b5dc970-b689-4daa-95ac-bb8ea39d82c5","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":189} -{"@t":"2018-11-12T08:51:08.3895813Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"7b5dc970-b689-4daa-95ac-bb8ea39d82c5","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":167.60940000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":79,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":189} -{"@t":"2018-11-12T08:51:09.0152646Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"56c5087","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:09.0870693Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"56c5087","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:09.0870693Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:14.0890610Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d7eb525","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:14.1542306Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"d7eb525","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:14.1552271Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:18.3097478Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"0b59756","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:18.3097478Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"0b59756","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:18.3097478Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":74,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:19.1568426Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2ffad7d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:19.2402540Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"2ffad7d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:19.2402540Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:19.4467118Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:20.8878084Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:24.2463865Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"04fbf4c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:24.3328088Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"04fbf4c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:24.3328088Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:29.3419380Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"04f306b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:29.4237465Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"04f306b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:29.4237465Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:34.4246595Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ddfbff1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:34.5454261Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":121,"TimingId":"ddfbff1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:34.5454261Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:39.5608326Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"64adca7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:39.6621618Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":101,"TimingId":"64adca7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:39.6621618Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:41.2263000Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2035f334-9b80-4c2a-a723-55a215704101","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":190} -{"@t":"2018-11-12T08:51:41.2362740Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2035f334-9b80-4c2a-a723-55a215704101","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":8.9659000000000013,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":76,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":190} -{"@t":"2018-11-12T08:51:44.6672184Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6d14892","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:44.7553026Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":88,"TimingId":"6d14892","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:44.7553026Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:49.7667187Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e1528da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:49.8364962Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"e1528da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:49.8364962Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:54.8373823Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3a03851","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:54.9133350Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"3a03851","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:54.9133350Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:59.9219102Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a2f78fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:59.9865851Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"a2f78fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:51:59.9865851Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:04.9875103Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b65938e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:05.0658313Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"b65938e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:05.0668306Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:10.0680207Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"29f4ad9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:10.1198956Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"29f4ad9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:10.1198956Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:13.2260805Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"80ef415f-7961-41d0-b9e2-de362679abcc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":191} -{"@t":"2018-11-12T08:52:13.4076449Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"80ef415f-7961-41d0-b9e2-de362679abcc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":180.56220000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":191} -{"@t":"2018-11-12T08:52:15.1261954Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d4bd387","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:15.2089334Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"d4bd387","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:15.2099446Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:18.3150606Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"019eadc","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:18.3150606Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"019eadc","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:18.3150606Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:19.5649575Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:20.2166627Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"819cae6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:20.2894190Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"819cae6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:20.2894190Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:21.0760178Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:25.2920632Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f36d37c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:25.3976747Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":105,"TimingId":"f36d37c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:25.3986719Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:30.4137509Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"87be5d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:30.5174179Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":103,"TimingId":"87be5d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:30.5174179Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:35.5269987Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"67dfc72","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:35.6117228Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"67dfc72","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:35.6117228Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:40.6263389Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f1178af","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:40.7036720Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"f1178af","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:40.7036720Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:45.7062391Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cd3f8b9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:45.7770610Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"cd3f8b9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:45.7770610Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:46.2273863Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b5e03353-a8b9-49e1-a9f0-055c74c2d825","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":86,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":192} -{"@t":"2018-11-12T08:52:46.2333709Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b5e03353-a8b9-49e1-a9f0-055c74c2d825","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9809,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":86,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":192} -{"@t":"2018-11-12T08:52:50.7766385Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"07b1059","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:50.8475145Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"07b1059","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:50.8475145Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:55.8497333Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7df3d3f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:55.9295182Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"7df3d3f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:52:55.9295182Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:00.9413908Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"80eabb7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:01.0102006Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"80eabb7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:01.0102006Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:06.0123926Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3107a36","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:06.0819652Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"3107a36","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:06.0819652Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:11.0894307Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2106336","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:11.1641802Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"2106336","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:11.1641802Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:16.1657720Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ef147cc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:16.2466170Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"ef147cc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:16.2466170Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:18.2216488Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"31d8e937-8d77-4013-ba61-1cd8c6dd6f80","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":98,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":193} -{"@t":"2018-11-12T08:53:18.3263684Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"52ff92a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:18.3263684Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"52ff92a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:18.3263684Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:18.4186977Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"31d8e937-8d77-4013-ba61-1cd8c6dd6f80","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":197.0489,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":193} -{"@t":"2018-11-12T08:53:19.6641053Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:21.2510340Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8507dc6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":92,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:21.2669087Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:21.2818743Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":30,"TimingId":"8507dc6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":92,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:21.2818743Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":92,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:26.2829539Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dcc3f93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:26.3994759Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":116,"TimingId":"dcc3f93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:26.4004732Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:31.4022449Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5b4591b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:31.4868723Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"5b4591b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:31.4868723Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:36.4960933Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8020319","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:36.5832041Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"8020319","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:36.5832041Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:41.5955368Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d79e348","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:41.6593613Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"d79e348","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:41.6593613Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:46.6615047Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8eb5eb4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:46.7446065Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"8eb5eb4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:46.7446065Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:49.2327011Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f304be6b-b1a1-49ca-8de3-2f953e67ef4f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":194} -{"@t":"2018-11-12T08:53:49.2416463Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"f304be6b-b1a1-49ca-8de3-2f953e67ef4f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":7.9452000000000007,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":194} -{"@t":"2018-11-12T08:53:51.7470244Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"35b9d14","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:51.8407786Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"35b9d14","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:51.8407786Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:56.8416683Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"57d66e8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:56.9120976Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"57d66e8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:53:56.9120976Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":90,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:01.9224922Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f3ee118","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:02.0142444Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"f3ee118","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:02.0142444Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:07.0259937Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"91fe00d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:07.1277278Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":101,"TimingId":"91fe00d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:07.1277278Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:12.1368940Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4df7c64","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:12.1852733Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":48,"TimingId":"4df7c64","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:12.1852733Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:17.1891201Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bef6ae0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:17.2475411Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"bef6ae0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:17.2475411Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:18.3304707Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"124e19a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:18.3304707Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"124e19a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:18.3304707Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:19.7726494Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:20.4768668Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"bf2f2a5","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:20.4857963Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"42eb7b61-693e-41e2-8cfb-8d015abedfd2","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":195} -{"@t":"2018-11-12T08:54:20.4908084Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"42eb7b61-693e-41e2-8cfb-8d015abedfd2","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":5.0121,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":195} -{"@t":"2018-11-12T08:54:20.4917763Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":14,"TimingId":"bf2f2a5","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:20.4917763Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:21.2181042Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"851c81c3-4497-43b0-ac5e-9dc7221546cf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":196} -{"@t":"2018-11-12T08:54:21.3118582Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"851c81c3-4497-43b0-ac5e-9dc7221546cf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":93.754,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":196} -{"@t":"2018-11-12T08:54:21.3378044Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:22.2493305Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a9160cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:22.3211027Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"a9160cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:22.3211027Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:27.3229250Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c37ff62","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:27.4021435Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"c37ff62","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:27.4021435Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:32.4037168Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"89c5729","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:32.4954893Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"89c5729","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:32.4964776Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:37.4980489Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"18dfc25","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:37.5742304Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"18dfc25","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:37.5742304Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:42.5896361Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"32d33fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:42.6714272Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"32d33fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:42.6714272Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:47.6721710Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f3476b3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:47.7220382Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"f3476b3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:47.7220382Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:52.7296009Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4fd621c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:52.8059582Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"4fd621c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:52.8059582Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:54.2243727Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6b73466a-f1d9-4e91-a357-12647a238706","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":197} -{"@t":"2018-11-12T08:54:54.2323402Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"6b73466a-f1d9-4e91-a357-12647a238706","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9544000000000006,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":197} -{"@t":"2018-11-12T08:54:57.8099966Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"226fd61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:57.8618160Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"226fd61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:54:57.8618160Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:02.8706812Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0a645a8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:02.9604444Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"0a645a8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:02.9604444Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:07.9753262Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"50662c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:08.0494173Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"50662c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:08.0494173Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:13.0620596Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dccd425","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:13.1617506Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"dccd425","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:13.1617506Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.1679363Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"671c00e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.2763131Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":108,"TimingId":"671c00e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.2773049Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.3421307Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"a1f4d7a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.3421307Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"a1f4d7a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:18.3421307Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:19.8691382Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:21.4963900Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:23.2801944Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"954ae98","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:23.4355115Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":155,"TimingId":"954ae98","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:23.4365078Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:25.2353635Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"cf72485c-82c8-4140-8600-03895b9b6adf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":198} -{"@t":"2018-11-12T08:55:25.4390291Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"cf72485c-82c8-4140-8600-03895b9b6adf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":203.6656,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":198} -{"@t":"2018-11-12T08:55:28.4430821Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"68be015","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:28.5138094Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"68be015","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:28.5138094Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:33.5150489Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"436b798","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:33.5967669Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"436b798","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:33.5967669Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:38.6059594Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"88d21c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:38.6547780Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"88d21c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:38.6547780Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:43.6670057Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6eb434d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:43.7497791Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"6eb434d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:43.7507789Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:48.7519860Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"32fd630","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:48.8277524Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"32fd630","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:48.8277524Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:53.8280454Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fa761ec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:53.8973027Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"fa761ec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:53.8973027Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:57.2197604Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"22e90599-76d9-4d22-9801-7bd6908d5fc6","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":199} -{"@t":"2018-11-12T08:55:57.2267438Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"22e90599-76d9-4d22-9801-7bd6908d5fc6","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":5.9860000000000007,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":199} -{"@t":"2018-11-12T08:55:58.9704325Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8ba74eb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:59.0697205Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"8ba74eb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:55:59.0697205Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:04.0783406Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e0c7e0b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:04.1526577Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"e0c7e0b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:04.1526577Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:09.1666326Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"84802f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:09.2413801Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"84802f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:09.2413801Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:14.2424363Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"16461ec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:14.3082700Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"16461ec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:14.3092680Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:18.3433612Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"4fbb1f0","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:18.3433612Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"4fbb1f0","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:18.3433612Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:19.3099967Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"87a9f33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:19.3558819Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":45,"TimingId":"87a9f33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:19.3558819Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:19.9452286Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:21.7370030Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:24.3705762Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ec63b87","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:24.4699585Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"ec63b87","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:24.4709556Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:29.2210651Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4f1d8135-732a-40ad-a45b-aaf99e11f4df","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":200} -{"@t":"2018-11-12T08:56:29.4264756Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"4f1d8135-732a-40ad-a45b-aaf99e11f4df","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":205.4105,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":200} -{"@t":"2018-11-12T08:56:29.4760878Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"eeb50bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:29.5188606Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":43,"TimingId":"eeb50bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:29.5198577Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:34.5305638Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e6ce1cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:34.6682770Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":137,"TimingId":"e6ce1cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:34.6682770Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":96,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:39.6687072Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"42dfee2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:39.7664460Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":98,"TimingId":"42dfee2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:39.7674451Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:44.7678910Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2310b8f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:44.8757442Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":107,"TimingId":"2310b8f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:44.8757442Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:49.8878513Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"83f7af5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:49.9596571Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"83f7af5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:49.9606533Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:54.9619537Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f0974bc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:55.0153714Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"f0974bc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:56:55.0153714Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:00.0158680Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bde5972","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:00.0746693Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"bde5972","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:00.0757049Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:01.2359881Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d3ae02c6-d199-434a-bd99-d057368f64dc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":121,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":201} -{"@t":"2018-11-12T08:57:01.2419679Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"d3ae02c6-d199-434a-bd99-d057368f64dc","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9822000000000006,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":201} -{"@t":"2018-11-12T08:57:05.0765469Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0fa996c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:05.1383846Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"0fa996c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:05.1383846Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:10.1544932Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ae77d49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:10.2251620Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"ae77d49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:10.2261596Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:15.2279603Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8b3a342","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:15.2777571Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"8b3a342","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:15.2807527Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:18.3564088Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"1f88a6f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":122,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:18.3564088Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"1f88a6f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":122,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:18.3564088Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":122,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:20.0314761Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:20.2822244Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"13e1fdd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":121,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:20.3495889Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"13e1fdd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":121,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:20.3495889Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":121,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:21.9173522Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:25.3585010Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3af112c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:25.4724393Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":113,"TimingId":"3af112c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:25.4724393Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:30.4843617Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"583b942","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:30.5342266Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"583b942","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:30.5342266Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:34.2206698Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a1af3b5a-3c2a-4e92-871e-ce88201bef35","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":202} -{"@t":"2018-11-12T08:57:34.4315179Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a1af3b5a-3c2a-4e92-871e-ce88201bef35","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":210.84810000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":202} -{"@t":"2018-11-12T08:57:35.5433527Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6675cc1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:35.6112054Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"6675cc1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:35.6112054Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:40.6257530Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c2a1065","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:40.6883611Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"c2a1065","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:40.6883611Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:45.6890517Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f8ea12f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:45.7439925Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"f8ea12f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:45.7439925Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:50.7461512Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b7b91f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:50.8105138Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"b7b91f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:50.8105138Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:55.8108913Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ee58aff","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:55.8777691Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"ee58aff","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:57:55.8787663Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:00.8903615Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c14e45f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:00.9488863Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"c14e45f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:00.9488863Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:05.9493641Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b113445","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:06.0411207Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"b113445","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:06.0411207Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:06.2267438Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a54c04e0-a8c2-499f-85d3-0ef5c6863daa","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":203} -{"@t":"2018-11-12T08:58:06.2317302Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a54c04e0-a8c2-499f-85d3-0ef5c6863daa","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9896000000000003,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":114,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":203} -{"@t":"2018-11-12T08:58:11.0573789Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"aa5c0d2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:11.1402398Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"aa5c0d2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:11.1402398Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:16.1435361Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9636332","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:16.2118782Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"9636332","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:16.2128775Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:18.3614615Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"6f9bbba","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:18.3614615Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"6f9bbba","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:18.3614615Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:20.1784400Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:21.2145309Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ea4d2c9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:21.3009562Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"ea4d2c9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:21.3009562Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:22.1293080Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":125,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:26.3133152Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9706e93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:26.4000815Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"9706e93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:26.4000815Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:31.4144399Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fe5d568","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:31.5002120Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"fe5d568","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:31.5012113Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:36.5122898Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9fde0de","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:36.6151508Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":102,"TimingId":"9fde0de","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:36.6151508Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:38.2286682Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"66be5ef3-070e-4751-836a-f0f54d91ce36","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":204} -{"@t":"2018-11-12T08:58:38.4263893Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"66be5ef3-070e-4751-836a-f0f54d91ce36","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":197.7211,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":114,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":204} -{"@t":"2018-11-12T08:58:41.6281232Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"13f20db","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:41.6731147Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":45,"TimingId":"13f20db","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:41.6731147Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:46.6754268Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"eaf2a7c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:46.7942074Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":118,"TimingId":"eaf2a7c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:46.7942074Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:51.7966396Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"be907f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:51.8769755Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"be907f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:51.8769755Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:56.8790830Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"72dfc57","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:56.9548814Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"72dfc57","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:58:56.9548814Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:01.9560510Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d4cbae8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:01.9999242Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":44,"TimingId":"d4cbae8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:02.0009226Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:07.0109020Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b557c3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:07.0956060Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"b557c3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:07.0956060Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:11.2163444Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"65cb423c-a32e-42af-8bc5-dab9a5f2cddb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":205} -{"@t":"2018-11-12T08:59:11.2193333Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"65cb423c-a32e-42af-8bc5-dab9a5f2cddb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":1.9889000000000001,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":114,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":205} -{"@t":"2018-11-12T08:59:12.1056038Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e7efe74","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:12.1794057Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"e7efe74","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:12.1794057Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:17.1806398Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c16010a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:17.2236364Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":42,"TimingId":"c16010a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:17.2236364Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:18.3718434Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"38f208f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:18.3728808Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":1,"TimingId":"38f208f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:18.3738326Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:20.2756620Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:20.4963867Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"0b665fb","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:20.5172806Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9a2fa6cd-d878-4692-92bb-977eb856f031","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":206} -{"@t":"2018-11-12T08:59:20.5232687Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9a2fa6cd-d878-4692-92bb-977eb856f031","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":5.9881,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":206} -{"@t":"2018-11-12T08:59:20.5262606Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":29,"TimingId":"0b665fb","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":59,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:20.5262606Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":59,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:22.2302255Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6ad12f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":137,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:22.2481927Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":17,"TimingId":"6ad12f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":137,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:22.2481927Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":137,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:22.2890736Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:27.2509478Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6a39270","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:27.3167686Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"6a39270","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:27.3167686Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:32.3239937Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e4ae6b9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:32.3987969Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"e4ae6b9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:32.3987969Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:37.4131434Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"25d0041","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:37.5300253Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":116,"TimingId":"25d0041","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:37.5300253Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:42.2309245Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"fa0d39ee-3674-4760-b29d-70f16046719e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":207} -{"@t":"2018-11-12T08:59:42.4536305Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"fa0d39ee-3674-4760-b29d-70f16046719e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":209.74550000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":138,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":207} -{"@t":"2018-11-12T08:59:42.5444406Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fc54a28","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:42.5907681Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":46,"TimingId":"fc54a28","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:42.5907681Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:47.5924466Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"24d6390","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:47.6735738Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"24d6390","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:47.6735738Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:52.6894148Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6dbb418","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:52.7591241Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"6dbb418","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:52.7591241Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:57.7606168Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"553b7cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:57.8313095Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"553b7cb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T08:59:57.8313095Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:02.8424877Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"09c6795","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:02.9202699Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"09c6795","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:02.9202699Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:07.9330078Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2ec91c0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:08.0127847Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"2ec91c0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:08.0127847Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:13.0285534Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e68ac90","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:13.0873907Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"e68ac90","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:13.0873907Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:14.2207894Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d6766634-46d0-4131-a211-a689d9be2b46","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":138,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":208} -{"@t":"2018-11-12T09:00:14.2267698Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"d6766634-46d0-4131-a211-a689d9be2b46","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9865,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":137,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":208} -{"@t":"2018-11-12T09:00:18.0917095Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c3adcc6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:18.1525561Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":60,"TimingId":"c3adcc6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:18.1525561Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:18.3863877Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"436aa15","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:18.3863877Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"436aa15","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:18.3863877Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":139,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:20.3553069Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:22.4815804Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:23.1672996Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b40ba49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:23.2321111Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"b40ba49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:23.2321111Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:28.2342760Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fde1e1e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:28.3278582Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"fde1e1e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:28.3278582Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:33.3286633Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7e05ff6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:33.4379503Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":109,"TimingId":"7e05ff6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:33.4379503Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:38.4477942Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"00d7888","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:38.5167097Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"00d7888","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:38.5167097Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:43.5294362Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0b09ca4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:43.6072115Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"0b09ca4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:43.6082122Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:46.2295060Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7a0ce4bd-9851-437d-a2f3-afb692228367","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":209} -{"@t":"2018-11-12T09:00:46.4554698Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"7a0ce4bd-9851-437d-a2f3-afb692228367","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":224.9636,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":209} -{"@t":"2018-11-12T09:00:48.6132709Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f90af7e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:48.6727580Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"f90af7e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:48.6727580Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:53.6843656Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e0ee1a7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:53.7476728Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"e0ee1a7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:53.7476728Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:58.7617290Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"987815b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":134,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:58.8405445Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"987815b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":134,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:00:58.8405445Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":134,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:03.8554079Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"aa69ead","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:03.9201985Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"aa69ead","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:03.9201985Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:08.9232158Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"94e3a93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:09.0039579Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"94e3a93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:09.0049551Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:14.0152956Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8ee143f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:14.0885756Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"8ee143f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:14.0905934Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:18.2163922Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"961e7140-1a73-4c38-91f1-b78934da9eaf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":210} -{"@t":"2018-11-12T09:01:18.2193852Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"961e7140-1a73-4c38-91f1-b78934da9eaf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":2.9930000000000003,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":134,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":210} -{"@t":"2018-11-12T09:01:18.4027525Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"efcffea","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:18.4027525Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"efcffea","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:18.4027525Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":133,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:19.0902264Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e4686bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":59,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:19.1727410Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"e4686bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":59,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:19.1727410Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":59,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:20.4737175Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:22.7435468Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:24.1840929Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5f54e60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:24.3153754Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":131,"TimingId":"5f54e60","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:24.3153754Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:29.3279671Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5844ce8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":147,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:29.3916916Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"5844ce8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":147,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:29.3916916Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":147,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:34.4064768Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8618f93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:34.4892462Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"8618f93","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:34.4892462Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:39.5011720Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f2faf48","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:39.6015251Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"f2faf48","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:39.6015251Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:44.6050224Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"06eddc2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:44.6653570Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"06eddc2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:44.6653570Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:49.6690655Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"441a272","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":144,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:49.7569997Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":88,"TimingId":"441a272","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":144,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:49.7569997Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":144,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:51.2262987Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0fba5f05-3083-431c-be11-550443c3e9d8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":211} -{"@t":"2018-11-12T09:01:51.4826000Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"0fba5f05-3083-431c-be11-550443c3e9d8","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":256.3013,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":146,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":211} -{"@t":"2018-11-12T09:01:54.7608772Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"691f7d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:54.8364598Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"691f7d5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:54.8364598Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:59.8409363Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3023fa8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:59.9129833Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"3023fa8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:01:59.9129833Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:04.9265257Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"217c145","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":128,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:04.9883590Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"217c145","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":128,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:04.9883590Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":128,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:09.9894179Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c957481","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:10.0750896Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"c957481","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:10.0750896Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":126,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:15.0765168Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"46a900f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:15.1172041Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":41,"TimingId":"46a900f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:15.1172041Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:18.4052820Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"ce99f98","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:18.4052820Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"ce99f98","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:18.4052820Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:20.1291317Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c461c88","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:20.1959083Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"c461c88","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:20.1969064Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:20.5489143Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:22.9011150Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:23.2248607Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e45b9626-e469-4a34-a93b-002c8375d594","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":212} -{"@t":"2018-11-12T09:02:23.2328388Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e45b9626-e469-4a34-a93b-002c8375d594","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9695,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":118,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":212} -{"@t":"2018-11-12T09:02:25.2029999Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"13c2d73","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:25.2537817Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"13c2d73","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:25.2537817Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:30.2539099Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"47e9381","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:30.3531510Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"47e9381","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:30.3531510Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:35.3561768Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ca55908","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:35.4393948Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"ca55908","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:35.4393948Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:40.4509619Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2d4461b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:40.5438986Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"2d4461b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:40.5438986Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:45.5463512Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bf0339c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:45.6394585Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"bf0339c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:45.6404563Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:50.6558895Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"796a1d4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:50.7441965Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":88,"TimingId":"796a1d4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:50.7441965Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:55.2218977Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"671afacb-43d4-4c83-8880-9ae4ef244282","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":213} -{"@t":"2018-11-12T09:02:55.4165941Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"671afacb-43d4-4c83-8880-9ae4ef244282","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":194.6964,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":118,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":213} -{"@t":"2018-11-12T09:02:55.7508167Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0140a14","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":125,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:55.8118049Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"0140a14","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":125,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:02:55.8118049Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":125,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:00.8129741Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3054254","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:00.8856233Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"3054254","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:00.8856233Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:05.8861304Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ffd94c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:05.9839869Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":97,"TimingId":"ffd94c1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:05.9839869Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:10.9853565Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1807183","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:11.0611261Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"1807183","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:11.0611261Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:16.0625933Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"431880b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:16.1149153Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":52,"TimingId":"431880b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:16.1159129Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":116,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:18.4189821Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"4aea461","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:18.4189821Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"4aea461","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:18.4189821Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:20.6450199Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:21.1277357Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"834fa3f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:21.1855805Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"834fa3f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:21.1855805Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:23.1169807Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:26.1884079Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"24fdb91","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:26.2816537Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"24fdb91","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:26.2826507Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:27.2264618Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"7b7e5468-36bb-4905-9c93-5bb3c090618f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":120,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":214} -{"@t":"2018-11-12T09:03:27.2334384Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"7b7e5468-36bb-4905-9c93-5bb3c090618f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9766,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":214} -{"@t":"2018-11-12T09:03:31.2952698Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"20b2cf3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:31.3591652Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"20b2cf3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:31.3591652Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:36.3725146Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5694711","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:36.4263657Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":54,"TimingId":"5694711","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:36.4273631Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:41.4405918Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"229e8d8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:41.5492448Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":108,"TimingId":"229e8d8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:41.5492448Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:46.5516163Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7af3888","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:46.6529793Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":101,"TimingId":"7af3888","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:46.6529793Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:51.6524405Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cdd9f54","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:51.7537190Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":101,"TimingId":"cdd9f54","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:51.7547162Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:56.7557247Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dea1210","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:56.8026036Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":47,"TimingId":"dea1210","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:03:56.8035973Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:00.2205493Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1d24b56d-27c9-4f75-b7a6-7f04af6ab40d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":215} -{"@t":"2018-11-12T09:04:00.4300031Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"1d24b56d-27c9-4f75-b7a6-7f04af6ab40d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":209.4538,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":215} -{"@t":"2018-11-12T09:04:01.8177895Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b7c5135","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:01.8951867Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"b7c5135","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:01.8951867Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:06.9084357Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1730a08","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:07.0156263Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":108,"TimingId":"1730a08","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:07.0166280Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:12.0176286Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0b38692","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:12.0953976Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"0b38692","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:12.0953976Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:17.0975314Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d54603a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:17.1583977Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":60,"TimingId":"d54603a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:17.1583977Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":129,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:18.4212186Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"f9d3b5b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:18.4212186Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"f9d3b5b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:18.4212186Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:20.5272189Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"638868d","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:20.5401235Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b69d1b3b-b8f5-47b0-a15d-aa29a4bf5448","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":216} -{"@t":"2018-11-12T09:04:20.5500955Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b69d1b3b-b8f5-47b0-a15d-aa29a4bf5448","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":8.9571,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":216} -{"@t":"2018-11-12T09:04:20.5520914Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":24,"TimingId":"638868d","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":142,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:20.5520914Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":142,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:20.8183340Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:22.1607686Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e6665b1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:22.2689723Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":107,"TimingId":"e6665b1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:22.2689723Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:23.4608476Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":120,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:27.2821707Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1f122b4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:27.3409760Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"1f122b4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:27.3419716Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:32.2200269Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2529dffb-98da-4f97-ae59-149d132ef2f1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":217} -{"@t":"2018-11-12T09:04:32.2250132Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2529dffb-98da-4f97-ae59-149d132ef2f1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.9863,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":217} -{"@t":"2018-11-12T09:04:32.3556604Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"093844c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:32.4184961Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"093844c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:32.4184961Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":113,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:37.4200662Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6b2986b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:37.5018386Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"6b2986b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:37.5018386Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:42.5167388Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"23cd9df","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:42.6015085Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"23cd9df","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:42.6025045Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:47.6033507Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7029b7b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:47.7446002Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":141,"TimingId":"7029b7b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:47.7455951Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:52.7463543Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5aaa953","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:52.8486803Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":102,"TimingId":"5aaa953","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:52.8495960Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:57.8517027Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bfd6c4d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:57.9202211Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"bfd6c4d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:04:57.9212403Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:02.9355211Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bf55ed6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:03.0303477Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":94,"TimingId":"bf55ed6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:03.0303477Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:04.2273144Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e0a3e454-8a90-4d99-bc63-0e918e36683e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":218} -{"@t":"2018-11-12T09:05:04.4185630Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e0a3e454-8a90-4d99-bc63-0e918e36683e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":191.2486,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":218} -{"@t":"2018-11-12T09:05:08.0455183Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"08234b7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:08.4193070Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":373,"TimingId":"08234b7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:08.4193070Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:13.4202267Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"74ac50f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:13.5167767Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"74ac50f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:13.5167767Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.4359177Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"ede2898","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.4359177Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"ede2898","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.4359177Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.5283647Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"97252a4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.6051081Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"97252a4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:18.6051081Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:20.8924236Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:23.6076194Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"261e891","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:23.6295625Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":22,"TimingId":"261e891","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:23.6295625Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:23.7119024Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:28.6308188Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0cffd72","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:28.7215463Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":90,"TimingId":"0cffd72","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:28.7215463Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:33.7217320Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7eb4a26","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:33.8091701Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":87,"TimingId":"7eb4a26","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:33.8091701Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:36.2275049Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"aa50d2f9-1ccb-4246-b9eb-c945131641a6","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":219} -{"@t":"2018-11-12T09:05:36.2344930Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"aa50d2f9-1ccb-4246-b9eb-c945131641a6","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":5.9887000000000006,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":119,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":219} -{"@t":"2018-11-12T09:05:38.8118925Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9af418a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:38.8916716Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"9af418a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:38.8916716Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:43.9051291Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"aa6c06d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:44.1842661Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":279,"TimingId":"aa6c06d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:44.1842661Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:49.1852741Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c653516","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:49.2919218Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":106,"TimingId":"c653516","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:49.2919218Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:54.2931543Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5397ab1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:54.3330341Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":40,"TimingId":"5397ab1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:54.3340312Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:59.3391328Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0697e4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:59.4069102Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"0697e4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:05:59.4079091Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:04.4183383Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b1adc67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:04.4986011Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"b1adc67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:04.5015899Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:08.2233292Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9b0de306-f879-4af2-99d0-1ae0a05b1cbf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":220} -{"@t":"2018-11-12T09:06:08.4286690Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9b0de306-f879-4af2-99d0-1ae0a05b1cbf","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":205.3398,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":220} -{"@t":"2018-11-12T09:06:09.5126271Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f180382","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:09.5525152Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":40,"TimingId":"f180382","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:09.5525152Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:14.5534896Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c5ea294","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:14.6223326Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"c5ea294","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:14.6232747Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:18.4371331Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"3532562","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:18.4371331Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"3532562","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:18.4371331Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:19.6396488Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"95a9dea","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":93,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:19.6905090Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"95a9dea","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":93,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:19.6905090Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":93,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:20.9975891Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:23.9077684Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:24.7031366Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"39b0f41","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:24.8123276Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":108,"TimingId":"39b0f41","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:24.8123276Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:29.8236476Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"613d5c3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:29.9034278Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"613d5c3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:29.9034278Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:34.9171104Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"44f1261","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:35.0378252Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":120,"TimingId":"44f1261","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:35.0378252Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":111,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:40.0495810Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bff8fb3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:40.1393347Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"bff8fb3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:40.1403450Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:40.2261037Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"1ca34a02-6ebd-42e6-bc85-1a586c34169b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":221} -{"@t":"2018-11-12T09:06:40.2330877Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"1ca34a02-6ebd-42e6-bc85-1a586c34169b","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":5.9441000000000006,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":105,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":221} -{"@t":"2018-11-12T09:06:45.1427294Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"934d3aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:45.2075181Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"934d3aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:45.2075181Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:50.2204722Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6eb0d3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":107,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:50.2811251Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"6eb0d3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":107,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:50.2811251Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":107,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:55.2831457Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"eeeb934","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:55.3489719Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"eeeb934","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:06:55.3489719Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":127,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:00.3548866Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5463341","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:00.4085825Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"5463341","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:00.4085825Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:05.4182499Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"708477b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:05.4760126Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"708477b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:05.4760126Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:10.4861661Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"520ea0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:10.5902914Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":103,"TimingId":"520ea0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:10.5902914Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":106,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:12.2250173Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"4c171b7c-fd19-46b8-ada4-15036499c66c","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":222} -{"@t":"2018-11-12T09:07:12.3981422Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"4c171b7c-fd19-46b8-ada4-15036499c66c","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":172.1276,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":115,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":222} -{"@t":"2018-11-12T09:07:15.5931443Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e1da2a3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:15.6688996Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"e1da2a3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:15.6688996Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:18.4478747Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"85bde26","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:18.4478747Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"85bde26","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:18.4478747Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:20.6714549Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e5e3cc9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:20.7672002Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"e5e3cc9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:20.7672002Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:21.1029759Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:24.1045268Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:25.7772588Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7db6eeb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:25.8639889Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":86,"TimingId":"7db6eeb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:25.8639889Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:30.8752911Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1b8db5b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:30.9992701Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":123,"TimingId":"1b8db5b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:30.9992701Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:35.9994712Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"13a6ac9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:36.0822604Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"13a6ac9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:36.0822604Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:41.0832547Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c926b95","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:41.1510234Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"c926b95","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:41.1510234Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:44.2238063Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e656863a-e9b5-4ef3-b59e-67010ddb8afa","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":223} -{"@t":"2018-11-12T09:07:44.2277950Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e656863a-e9b5-4ef3-b59e-67010ddb8afa","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9887,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":223} -{"@t":"2018-11-12T09:07:46.1533612Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dcd8212","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:46.2431216Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"dcd8212","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:46.2431216Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:51.2447088Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"42eebe3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:51.3632485Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":118,"TimingId":"42eebe3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:51.3632485Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:56.3644176Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a56022b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:56.4564083Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"a56022b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:07:56.4564083Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:01.4635361Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2edc380","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:01.5573137Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"2edc380","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:01.5573137Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:06.5595487Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d7fa24c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:06.6761053Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":116,"TimingId":"d7fa24c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:06.6761053Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:11.6874624Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"80b1417","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:11.7543661Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"80b1417","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:11.7543661Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:16.7557165Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d7f9bc5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:16.8285038Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"d7f9bc5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:16.8285038Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:17.2261536Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"204a3ad7-c718-474f-93dc-2cb411fc2be2","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":102,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":224} -{"@t":"2018-11-12T09:08:17.4021957Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"204a3ad7-c718-474f-93dc-2cb411fc2be2","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":176.0421,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":224} -{"@t":"2018-11-12T09:08:18.4515600Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"9a46635","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:18.4525564Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"9a46635","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:18.4525564Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":123,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:21.1925872Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:21.8412454Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"903faee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:21.9290010Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":87,"TimingId":"903faee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:21.9290010Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:24.2925862Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:26.9326143Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"47b3ed9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:27.0323586Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":100,"TimingId":"47b3ed9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:27.0343624Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:32.0483052Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a64b559","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:32.1010701Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":52,"TimingId":"a64b559","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:32.1010701Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:37.1142549Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f23459c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:37.2491365Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":135,"TimingId":"f23459c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:37.2491365Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:42.2497612Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1d53abb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:42.3550188Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":105,"TimingId":"1d53abb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:42.3550188Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:47.3566730Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"af11266","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:47.4416820Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"af11266","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:47.4416820Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:49.2243134Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"bd4e1035-1134-4e11-8cda-a40258f3d49f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":225} -{"@t":"2018-11-12T09:08:49.2302813Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"bd4e1035-1134-4e11-8cda-a40258f3d49f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":5.9679,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":97,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":225} -{"@t":"2018-11-12T09:08:52.4532373Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7b0b692","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:52.4950983Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":42,"TimingId":"7b0b692","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:52.4960986Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:57.4967735Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b00900e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:57.7629618Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":266,"TimingId":"b00900e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:08:57.7629618Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:02.7626588Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cf6aed0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:02.8323614Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"cf6aed0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:02.8323614Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:07.8399584Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1684ad0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:07.9067177Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"1684ad0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:07.9067177Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:12.9209382Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ae83e77","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:12.9972664Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"ae83e77","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:12.9972664Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.0000703Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"575c7b8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.0725994Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"575c7b8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.0725994Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.4641850Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"b46a05f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":94,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.4641850Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"b46a05f","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":94,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:18.4641850Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":94,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:20.5575033Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"381fd6f","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:20.5654761Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b3b18a59-1502-43fa-b2b2-83050ccb2d0c","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":226} -{"@t":"2018-11-12T09:09:20.5714746Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b3b18a59-1502-43fa-b2b2-83050ccb2d0c","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":5.9985,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":226} -{"@t":"2018-11-12T09:09:20.5764945Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":18,"TimingId":"381fd6f","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":108,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:20.5764945Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":108,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:21.2310482Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b0f4aea8-8a47-49cc-bee4-dbfd61ae0497","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":227} -{"@t":"2018-11-12T09:09:21.3005224Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b0f4aea8-8a47-49cc-bee4-dbfd61ae0497","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":68.489,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":101,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":227} -{"@t":"2018-11-12T09:09:21.3364428Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:23.0793159Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"930053b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:23.2186531Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":139,"TimingId":"930053b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:23.2186531Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:24.5534549Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:28.2295730Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cf6ee76","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:28.2884146Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"cf6ee76","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:28.2884146Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:33.2991970Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"055a8d8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:33.3849353Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"055a8d8","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:33.3849353Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:38.3969676Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"dfd03e5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:38.4539649Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"dfd03e5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:38.4539649Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:43.4662404Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"843dea0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:43.5380563Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"843dea0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:43.5380563Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:48.5489429Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8c8ce49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:48.6107784Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"8c8ce49","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:48.6107784Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:53.2302896Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0b269ea1-e66e-46f1-a469-b561649d15ab","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":228} -{"@t":"2018-11-12T09:09:53.2352718Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"0b269ea1-e66e-46f1-a469-b561649d15ab","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9843,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":228} -{"@t":"2018-11-12T09:09:53.6127185Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c808954","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:53.7202909Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":107,"TimingId":"c808954","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:53.7202909Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:58.7355804Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fdfb977","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:58.8006867Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"fdfb977","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:09:58.8016873Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:03.8122213Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"82bb2e9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:03.8680673Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":56,"TimingId":"82bb2e9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:03.8680673Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:08.8808815Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"345ee4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:08.9472240Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"345ee4b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:08.9492185Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:13.9517272Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"61b20ee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:14.0326276Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"61b20ee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:14.0326276Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:18.4679546Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"43b25ef","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:18.4679546Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"43b25ef","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:18.4679546Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:19.0454797Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6a9a9dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:19.1213890Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"6a9a9dd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:19.1213890Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:21.4295489Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:24.1243770Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"61d23ab","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:24.1711995Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":46,"TimingId":"61d23ab","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:24.1711995Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:24.7256826Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":95,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:25.2279335Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6f7c7bc6-8890-479f-89e5-5fd80bd358c3","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":229} -{"@t":"2018-11-12T09:10:25.4138153Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"6f7c7bc6-8890-479f-89e5-5fd80bd358c3","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":184.88160000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":229} -{"@t":"2018-11-12T09:10:29.1800455Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bad96b5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:29.2797933Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":99,"TimingId":"bad96b5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:29.2797933Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:34.2803541Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"53cebee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:34.3441628Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"53cebee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:34.3441628Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":100,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:39.3558468Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ea4eeaf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:39.4307690Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"ea4eeaf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:39.4317673Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:44.4340789Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"498b27d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:44.5158517Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"498b27d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:44.5158517Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:49.5260092Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"39bffc1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:49.6286023Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":102,"TimingId":"39bffc1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:49.6315987Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:54.6421861Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7b50abd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:54.7249780Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"7b50abd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:54.7259533Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:58.2311703Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"30f635a0-107f-40c0-96fd-7aea69e0fbec","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":103,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":230} -{"@t":"2018-11-12T09:10:58.2361555Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"30f635a0-107f-40c0-96fd-7aea69e0fbec","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9895,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":99,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":230} -{"@t":"2018-11-12T09:10:59.7323205Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"abb3c21","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:59.8061934Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"abb3c21","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:10:59.8061934Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:04.8077886Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c7f7ccd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:04.8625516Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":54,"TimingId":"c7f7ccd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:04.8625516Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:09.8711472Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5281a33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":98,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:09.9718246Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":100,"TimingId":"5281a33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":98,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:09.9718246Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":98,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:14.9732674Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c7075f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:15.0660380Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"c7075f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:15.0670340Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:18.4723915Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"756ec53","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:18.4723915Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"756ec53","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:18.4723915Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:20.0729366Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e6f55da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":80,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:20.1385661Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"e6f55da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":80,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:20.1385661Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":80,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:21.5293036Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:24.8829099Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:25.1538633Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6383ced","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:25.2337244Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"6383ced","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:25.2337244Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:30.2232256Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"978d2b36-2a95-4aa5-9e72-43c8f2d72195","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":231} -{"@t":"2018-11-12T09:11:30.2451673Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a0077aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:30.2790757Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"978d2b36-2a95-4aa5-9e72-43c8f2d72195","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":55.850100000000005,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":231} -{"@t":"2018-11-12T09:11:30.3260195Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"a0077aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:30.3260195Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:35.3390505Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fb9e0fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:35.4053854Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"fb9e0fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:35.4053854Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:40.4171110Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b9450ba","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:40.4749042Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"b9450ba","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:40.4749042Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:45.4779773Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"bddff0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:45.5555632Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"bddff0c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:45.5555632Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:50.5724989Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c705acf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:50.6922236Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":119,"TimingId":"c705acf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:50.6922236Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:55.6956409Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"862e089","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:55.8384851Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":142,"TimingId":"862e089","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:11:55.8384851Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:00.8395307Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b3b2e8f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:00.9528100Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":113,"TimingId":"b3b2e8f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:00.9528100Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:02.2284993Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ebb5762f-be7b-45e8-b090-2cc46f5a8050","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":87,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":232} -{"@t":"2018-11-12T09:12:02.2324913Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ebb5762f-be7b-45e8-b090-2cc46f5a8050","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.992,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":80,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":232} -{"@t":"2018-11-12T09:12:05.9660361Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a5d8c2d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:06.0490150Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"a5d8c2d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:06.0500091Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:11.0506584Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e48bf67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:11.1306198Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"e48bf67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:11.1306198Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":88,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:16.1337997Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6e8df33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:16.1925079Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"6e8df33","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:16.1925079Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:18.4786798Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"f8eb27b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:18.4786798Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"f8eb27b","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:18.4796783Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":91,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:21.1930942Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a179d34","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:21.3194419Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":126,"TimingId":"a179d34","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:21.3194419Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:21.6086625Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:25.0581109Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:26.3237387Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"989db5f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:26.4090752Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"989db5f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:26.4090752Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:31.4098163Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"07d4e15","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:31.4917124Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"07d4e15","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:31.4917124Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:35.2341729Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5da5d4c5-3148-4b49-9dd0-e84c0dced323","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":79,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":233} -{"@t":"2018-11-12T09:12:35.4835316Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5da5d4c5-3148-4b49-9dd0-e84c0dced323","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":248.3579,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":233} -{"@t":"2018-11-12T09:12:36.5085629Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2e54a96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:36.5574290Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"2e54a96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:36.5574290Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:41.5588489Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d8a29bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:41.6266344Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"d8a29bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:41.6266344Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:46.6277163Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"4c8b9fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:46.6887232Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":61,"TimingId":"4c8b9fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:46.6887232Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:51.6987725Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1c13f1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:51.7682999Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"1c13f1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:51.7682999Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:56.7704838Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ebf76f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:56.8463071Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":75,"TimingId":"ebf76f3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:12:56.8473048Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:01.8609052Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"966e7c3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:01.9434369Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"966e7c3","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:01.9444350Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:06.9565052Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"213093c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:07.0480172Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":91,"TimingId":"213093c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:07.0490201Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:07.2286819Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"78e8683d-eeaa-402a-8027-3a568a5da49d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":234} -{"@t":"2018-11-12T09:13:07.2326711Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"78e8683d-eeaa-402a-8027-3a568a5da49d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":3.9892000000000003,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":234} -{"@t":"2018-11-12T09:13:12.0622794Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0e82acf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:12.1211193Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"0e82acf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:12.1211193Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:17.1225467Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5ad16ba","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:17.2073227Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"5ad16ba","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:17.2073227Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:18.4834577Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"5e441f8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":79,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:18.4834577Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"5e441f8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":79,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:18.4834577Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":79,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:21.7164734Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:22.2157624Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5833bac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:22.2795445Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"5833bac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:22.2805530Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":85,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:25.2185296Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:27.2922351Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7a6326a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:27.3434348Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"7a6326a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:27.3444305Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:32.3568586Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"000df40","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:32.4356823Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"000df40","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:32.4356823Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:37.4481116Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"949081d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:37.5149023Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"949081d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:37.5149023Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:39.2301985Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"31c8f195-8a04-477f-a21f-19c92c0f6cef","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":68,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":235} -{"@t":"2018-11-12T09:13:39.4567349Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"31c8f195-8a04-477f-a21f-19c92c0f6cef","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":226.53640000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":235} -{"@t":"2018-11-12T09:13:42.5307545Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d05113b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:42.5835742Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":52,"TimingId":"d05113b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:42.5835742Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:47.5863555Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f4107dc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:47.6707142Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"f4107dc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:47.6707142Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:52.6723949Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6af7b30","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:52.7392126Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"6af7b30","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:52.7392126Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:57.7401422Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"de1a351","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:57.8239910Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":83,"TimingId":"de1a351","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:13:57.8239910Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:02.8246653Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"03f5bfe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:02.8881436Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"03f5bfe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:02.8881436Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:07.9018286Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f8f590d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:08.0278869Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":125,"TimingId":"f8f590d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:08.0278869Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:11.2257746Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"47539fd8-606a-4c3b-acab-b62d42783b0f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":236} -{"@t":"2018-11-12T09:14:11.2297627Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"47539fd8-606a-4c3b-acab-b62d42783b0f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":2.9885,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":236} -{"@t":"2018-11-12T09:14:13.0281889Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"214f4c6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:13.1303644Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":102,"TimingId":"214f4c6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:13.1313630Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.1319917Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"591ba6f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.2164626Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":84,"TimingId":"591ba6f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.2164626Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.4860800Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"85534ee","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.4860800Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"85534ee","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:18.4860800Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:20.5769522Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"0b60a5d","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:20.5927987Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"b152b1a3-f9cd-492c-afd6-1544031613a6","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":237} -{"@t":"2018-11-12T09:14:20.5967790Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"b152b1a3-f9cd-492c-afd6-1544031613a6","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":3.9803,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":237} -{"@t":"2018-11-12T09:14:20.5987742Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":21,"TimingId":"0b60a5d","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:20.5987742Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:21.7865730Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:23.2187099Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c653e5c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:23.3084576Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":89,"TimingId":"c653e5c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:23.3084576Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":82,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:25.3686558Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:28.3098072Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e8ef556","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:28.3641892Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":54,"TimingId":"e8ef556","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:28.3641892Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:33.3772034Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5a987f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:33.4322252Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":55,"TimingId":"5a987f1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:33.4322252Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:38.4490156Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"45035bc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:38.5287704Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"45035bc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:38.5287704Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:43.2195879Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"52e47926-3da4-45e9-ab80-2c9d965e2a65","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":238} -{"@t":"2018-11-12T09:14:43.4363284Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"52e47926-3da4-45e9-ab80-2c9d965e2a65","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":216.7405,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":238} -{"@t":"2018-11-12T09:14:43.5303817Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"aed43d1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:43.5871833Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":57,"TimingId":"aed43d1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:43.5871833Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:48.5902408Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d2d22ce","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:48.6626763Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"d2d22ce","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:48.6626763Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":84,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:53.6729000Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5a69208","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:53.7156931Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":42,"TimingId":"5a69208","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:53.7156931Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:58.7167080Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ed24b59","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:58.7797415Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":62,"TimingId":"ed24b59","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:14:58.7797415Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":78,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:03.7813241Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a52c22b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:03.8696754Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":87,"TimingId":"a52c22b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:03.8696754Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:08.8705046Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e41fefd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:08.9444135Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"e41fefd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:08.9444135Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:13.9543548Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2468c17","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:14.0181762Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"2468c17","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:14.0181762Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:16.2330376Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"51fb41e4-bfe2-414f-be49-93c73e60a9c4","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":239} -{"@t":"2018-11-12T09:15:16.2390128Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"51fb41e4-bfe2-414f-be49-93c73e60a9c4","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":5.9752,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":68,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":239} -{"@t":"2018-11-12T09:15:18.4959170Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"0e6dfcd","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:18.4969636Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"0e6dfcd","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:18.4969636Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:19.0315308Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0eec633","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:19.1063294Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"0eec633","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:19.1063294Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:21.8745848Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:24.1070193Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e6e4971","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:24.2104245Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":103,"TimingId":"e6e4971","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:24.2104245Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:25.5534027Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:29.2239894Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a341634","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:29.3164090Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"a341634","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:29.3164090Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:34.3228129Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d0f2fc9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:34.3874484Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"d0f2fc9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:34.3874484Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:39.4028488Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b6b8fff","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:39.4703689Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"b6b8fff","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:39.4703689Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:44.4805014Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9f59c2d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:44.5408013Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":60,"TimingId":"9f59c2d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:44.5408013Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:49.2207094Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"9481df12-85d8-4f89-8780-3a040e8c0bad","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":240} -{"@t":"2018-11-12T09:15:49.4144111Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"9481df12-85d8-4f89-8780-3a040e8c0bad","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":193.70170000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":240} -{"@t":"2018-11-12T09:15:49.5433534Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6f7f62b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:49.5902271Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":46,"TimingId":"6f7f62b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:49.5902271Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:54.6050203Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1bf256e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:54.7165050Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":111,"TimingId":"1bf256e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:54.7165050Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:59.7290738Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d46d218","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:59.9502958Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":221,"TimingId":"d46d218","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:15:59.9512675Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:04.9656428Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5ebaac4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:05.0454813Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"5ebaac4","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:05.0464790Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:10.0594387Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"421b0fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:10.1239817Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"421b0fc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:10.1239817Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:15.1266339Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8c9c195","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:15.2004713Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"8c9c195","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:15.2004713Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:18.4984899Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"7267d91","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:18.4984899Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"7267d91","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:18.4984899Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:20.2027340Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"435ba48","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:20.2745425Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"435ba48","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:20.2745425Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:21.9648555Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:22.2174515Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2ffe6cb7-b350-4fc4-bf03-f4edada7455e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":241} -{"@t":"2018-11-12T09:16:22.2194460Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2ffe6cb7-b350-4fc4-bf03-f4edada7455e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":1.9945000000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":241} -{"@t":"2018-11-12T09:16:25.2903904Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b8e0ce0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:25.3627514Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"b8e0ce0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:25.3627514Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:25.7105838Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:30.3716588Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d19d74b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:30.4654573Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":93,"TimingId":"d19d74b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:30.4654573Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:35.4657211Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"22be072","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:35.5589219Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":92,"TimingId":"22be072","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:35.5589219Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":65,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:40.5592442Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e901ada","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":44,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:40.6575771Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":98,"TimingId":"e901ada","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":44,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:40.6575771Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":44,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:45.6597790Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"292cda9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:45.7116339Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"292cda9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:45.7116339Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:50.7204127Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"497e9da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":60,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:50.7867111Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"497e9da","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":60,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:50.7867111Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":60,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:55.2345826Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2818a3d9-077f-437b-8090-65d7cf1c2744","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":242} -{"@t":"2018-11-12T09:16:55.4501574Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2818a3d9-077f-437b-8090-65d7cf1c2744","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":215.5748,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":242} -{"@t":"2018-11-12T09:16:55.7993531Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e77e47e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:55.8655791Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"e77e47e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:16:55.8655791Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:00.8762210Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3bb03db","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:00.9329846Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":56,"TimingId":"3bb03db","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:00.9329846Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:05.9334172Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0ba4d01","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:05.9919624Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":58,"TimingId":"0ba4d01","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:05.9919624Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:11.0064774Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6e933ac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:11.1031647Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"6e933ac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:11.1031647Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:16.1054087Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e35636c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:16.1753916Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":69,"TimingId":"e35636c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:16.1753916Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:18.5115687Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"60313d8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:18.5115687Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"60313d8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:18.5115687Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:21.1848258Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c3027b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:21.2746398Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":90,"TimingId":"c3027b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:21.2746398Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:22.0427003Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:25.8934665Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:26.2775164Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"58d2fa1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:26.3323734Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":54,"TimingId":"58d2fa1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:26.3323734Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:28.2273720Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d34fb5aa-8f61-4f49-b79b-f4b6df949207","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":243} -{"@t":"2018-11-12T09:17:28.2325173Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"d34fb5aa-8f61-4f49-b79b-f4b6df949207","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":4.4782,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":243} -{"@t":"2018-11-12T09:17:31.3431351Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6866d7d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:31.4290257Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"6866d7d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:31.4290257Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:36.4296843Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"01f803d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:36.4844873Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":54,"TimingId":"01f803d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:36.4844873Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:41.4851692Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"44e2d85","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:41.5818596Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"44e2d85","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:41.5818596Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:46.5844836Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"20658a6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:46.6702526Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"20658a6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:46.6702526Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:51.6838806Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"0a3b893","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:51.7267398Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":43,"TimingId":"0a3b893","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:51.7267398Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:56.7285251Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7188efd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:56.7931883Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"7188efd","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:17:56.7931883Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:01.8087830Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b6e2a25","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:01.8855733Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"b6e2a25","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:01.8855733Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:02.2236713Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"a18dc76e-06ba-4385-b133-6167b33d6e5d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":244} -{"@t":"2018-11-12T09:18:02.3632954Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"a18dc76e-06ba-4385-b133-6167b33d6e5d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":138.6206,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":51,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":244} -{"@t":"2018-11-12T09:18:06.8872113Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b459d5e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:06.9550171Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"b459d5e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:06.9550171Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:11.9637799Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ad5e563","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:12.0364361Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"ad5e563","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:12.0364361Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:17.0391043Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e138f24","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:17.1278228Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":88,"TimingId":"e138f24","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:17.1278228Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:18.5161527Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"4ba6303","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:18.5161527Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"4ba6303","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:18.5161527Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:22.1294471Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:22.1394458Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"64fe31a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:22.1743259Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":35,"TimingId":"64fe31a","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:22.1743259Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:26.0679155Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:27.1839664Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ae8b82c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:27.2238299Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":39,"TimingId":"ae8b82c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:27.2238299Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":56,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:32.2334411Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"46c9e35","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:32.3162104Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"46c9e35","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:32.3162104Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:34.2211206Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"0b5412f3-6936-489b-b9a0-ea348a514871","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":245} -{"@t":"2018-11-12T09:18:34.2251070Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"0b5412f3-6936-489b-b9a0-ea348a514871","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":2.9881,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":53,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":245} -{"@t":"2018-11-12T09:18:37.3259770Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a8cead2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:37.3996194Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"a8cead2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:37.3996194Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":69,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:42.4152232Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"744ce31","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:42.4810433Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"744ce31","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:42.4810433Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:47.4826657Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9424121","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:47.5654414Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"9424121","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:47.5654414Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:52.5662220Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e81c243","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:52.6169348Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"e81c243","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:52.6169348Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:57.6187295Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"19fc0b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:57.6784006Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":59,"TimingId":"19fc0b2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:18:57.6784006Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:02.6920074Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"54bfddc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:02.7667992Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"54bfddc","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:02.7667992Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:07.2228869Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"e17fd926-4fbc-4725-94c3-6098696c594a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":246} -{"@t":"2018-11-12T09:19:07.3994097Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"e17fd926-4fbc-4725-94c3-6098696c594a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":175.52720000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":43,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":246} -{"@t":"2018-11-12T09:19:07.7764765Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"d0dd6ef","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:07.8502039Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"d0dd6ef","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:07.8502039Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:12.8638412Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"487b45f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:12.9595518Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":95,"TimingId":"487b45f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:12.9595518Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:17.9612313Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5fd419c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:18.0299877Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"5fd419c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:18.0299877Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:18.5266667Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"600a146","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:18.5266667Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"600a146","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:18.5266667Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":8,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:20.6090909Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"77806c8","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":13,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:20.6180724Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ded929b4-8b7a-47c1-85b9-9b2ca84e4a2d","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":247} -{"@t":"2018-11-12T09:19:20.6250763Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ded929b4-8b7a-47c1-85b9-9b2ca84e4a2d","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":7.0039000000000007,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":247} -{"@t":"2018-11-12T09:19:20.6260489Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":17,"TimingId":"77806c8","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:20.6260489Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":104,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:22.2317522Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:23.0317570Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"c93a131","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":43,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:23.1004296Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"c93a131","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":43,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:23.1004296Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":43,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:26.2141180Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:28.1120963Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"56ed3fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:28.1918552Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"56ed3fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:28.1918552Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:33.1984312Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ce94462","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:33.2632585Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"ce94462","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:33.2642551Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:38.2758619Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f490e5d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:38.3406840Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":64,"TimingId":"f490e5d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:38.3406840Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:41.2219809Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"49ecf103-6dc7-4fa0-9672-a81c6bc36a39","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":40,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":248} -{"@t":"2018-11-12T09:19:41.2299622Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"49ecf103-6dc7-4fa0-9672-a81c6bc36a39","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9768,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":248} -{"@t":"2018-11-12T09:19:43.3453466Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"e340aec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:43.4121244Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"e340aec","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:43.4131212Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:48.4137561Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"76e6c66","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:48.4815736Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"76e6c66","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:48.4815736Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:53.4833370Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"43675d6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:53.5490348Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":65,"TimingId":"43675d6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:53.5490348Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:58.5616230Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ade7a7b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:58.6354209Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"ade7a7b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:19:58.6354209Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:03.6362795Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fff674b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:03.6899076Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"fff674b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:03.6899076Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":46,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:08.6905431Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"44febae","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:08.7643392Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"44febae","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:08.7643392Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:13.2244167Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"2b916335-35c9-4ca2-9b94-8f2b84ab208f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":249} -{"@t":"2018-11-12T09:20:13.3750161Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"2b916335-35c9-4ca2-9b94-8f2b84ab208f","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":149.5932,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":45,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":249} -{"@t":"2018-11-12T09:20:13.7760693Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"df73f68","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:13.8427616Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"df73f68","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:13.8427616Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.5423961Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"a5da4bd","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.5423961Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"a5da4bd","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.5423961Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":31,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.8554955Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"08b31bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":45,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.9301586Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":74,"TimingId":"08b31bb","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":45,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:18.9301586Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":45,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:22.3240865Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:23.9428979Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5aa6ea2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:24.0165594Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"5aa6ea2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:24.0165594Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:26.3383511Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:29.0261980Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1d92203","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:29.0620709Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":35,"TimingId":"1d92203","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:29.0620709Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:34.0628380Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"30d3924","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:34.1295239Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"30d3924","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:34.1295239Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:39.1381745Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"be4f8aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:39.1879955Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"be4f8aa","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:39.1879955Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:44.1986051Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ceea4b7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:44.2753953Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"ceea4b7","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:44.2753953Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:47.2195272Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"6c32d6dd-b50a-4fa5-bf85-08c5a248b79a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":250} -{"@t":"2018-11-12T09:20:47.2235132Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"6c32d6dd-b50a-4fa5-bf85-08c5a248b79a","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":2.9877000000000002,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":250} -{"@t":"2018-11-12T09:20:49.2771469Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"95046bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:49.3548143Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":76,"TimingId":"95046bf","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:49.3548143Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:54.3544853Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"00f8b85","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:54.3893637Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":35,"TimingId":"00f8b85","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:54.3893637Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:59.4019826Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a99ebd0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":63,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:59.4358678Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":33,"TimingId":"a99ebd0","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":63,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:20:59.4358678Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":63,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:04.4484629Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"96d6b82","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:04.5402154Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":91,"TimingId":"96d6b82","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:04.5402154Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:09.5535031Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"68c8aac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:09.6022163Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":48,"TimingId":"68c8aac","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:09.6022163Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:14.6153853Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9ac4060","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:14.6871931Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"9ac4060","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:14.6871931Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:18.5479557Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"6ec3ec8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:18.5479557Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"6ec3ec8","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:18.5479557Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:19.2241462Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"64db50e3-4260-40ca-bed8-d3a51a4157cb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":251} -{"@t":"2018-11-12T09:21:19.3847124Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"64db50e3-4260-40ca-bed8-d3a51a4157cb","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":159.5624,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":251} -{"@t":"2018-11-12T09:21:19.6978772Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"90bcdee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:19.7676888Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":70,"TimingId":"90bcdee","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:19.7676888Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:22.4235891Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:24.7773413Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1286b61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:24.8590779Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":81,"TimingId":"1286b61","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:24.8590779Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:26.4667786Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:29.8708262Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a440c2f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:29.9424870Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"a440c2f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:29.9434868Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:34.9552487Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"eee2e67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:35.0268925Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":71,"TimingId":"eee2e67","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:35.0268925Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":57,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:40.0306629Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2c8a479","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:40.1272539Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":96,"TimingId":"2c8a479","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:40.1272539Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:45.1398543Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"5e29e96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:45.2076727Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":67,"TimingId":"5e29e96","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:45.2076727Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:50.2192734Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"8d14c3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:50.2691411Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"8d14c3e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:50.2691411Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":58,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:51.2235876Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5f1869e7-a660-4145-85a7-4205e3790159","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":252} -{"@t":"2018-11-12T09:21:51.2315691Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5f1869e7-a660-4145-85a7-4205e3790159","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":6.9312000000000005,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":50,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":252} -{"@t":"2018-11-12T09:21:55.2797832Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ecd7387","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:55.3236262Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":43,"TimingId":"ecd7387","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:21:55.3236262Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:00.3293478Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6f216d6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:00.3621532Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":32,"TimingId":"6f216d6","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:00.3621532Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:05.3639312Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"2821c58","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:05.4266129Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"2821c58","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:05.4276100Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:10.4362559Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"65fea57","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:10.4930654Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":56,"TimingId":"65fea57","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:10.4930654Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:15.4938978Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7348572","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:15.5626686Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":68,"TimingId":"7348572","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:15.5626686Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:18.5506835Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"e1ebf08","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:18.5506835Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"e1ebf08","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:18.5506835Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:20.5634173Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"68e0748","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:20.6371022Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"68e0748","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:20.6371022Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:22.2288480Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"5fab8b8c-e0dc-4097-9953-3690019400d1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":253} -{"@t":"2018-11-12T09:22:22.3874218Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"5fab8b8c-e0dc-4097-9953-3690019400d1","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":158.5738,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":253} -{"@t":"2018-11-12T09:22:22.4771851Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:25.6514496Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b4955a2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:25.6943435Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":42,"TimingId":"b4955a2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:25.6943435Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:26.6174489Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:30.7038126Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"1ec865c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:30.7764888Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"1ec865c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:30.7764888Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:35.7774395Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b18fb97","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:35.8411552Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":63,"TimingId":"b18fb97","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:35.8411552Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":62,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:40.8565524Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ac70150","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:40.9190813Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"ac70150","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:40.9190813Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:45.9319603Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f1d07d1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:46.0098302Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":82,"TimingId":"f1d07d1","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:46.0098302Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:51.0207400Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"df8133d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":73,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:51.0875388Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"df8133d","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":73,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:51.0875388Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":73,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:55.2171584Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"ceb5b934-51d5-4389-bea6-b64c9d24e878","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":254} -{"@t":"2018-11-12T09:22:55.2191539Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"ceb5b934-51d5-4389-bea6-b64c9d24e878","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":1.9955,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":71,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":254} -{"@t":"2018-11-12T09:22:56.0889922Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"3cb2c99","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:56.1746183Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":85,"TimingId":"3cb2c99","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:22:56.1746183Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":17,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:01.1850970Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9c758fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:01.2589107Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"9c758fe","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:01.2589107Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:06.2725726Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"684f4e9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:06.3243527Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":52,"TimingId":"684f4e9","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:06.3243527Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:11.3257179Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"86ce17c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:11.3702180Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":51,"TimingId":"86ce17c","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:11.3702180Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:16.3839185Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"ae59c4f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:16.4692637Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":98,"TimingId":"ae59c4f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:16.4692637Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:18.5516577Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"76f703a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:18.5516577Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"76f703a","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:18.5516577Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:21.4865579Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"9aa9f1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:21.5538277Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":80,"TimingId":"9aa9f1b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:21.5538277Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:22.5651589Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:26.5687851Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"153f963","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:26.6000283Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":43,"TimingId":"153f963","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:26.6000283Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:26.7776739Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:28.2288188Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d73da838-06d4-4318-9077-71e09632b43e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":255} -{"@t":"2018-11-12T09:23:28.3834019Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"d73da838-06d4-4318-9077-71e09632b43e","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":153.5856,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":255} -{"@t":"2018-11-12T09:23:31.6009933Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"fd0733b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:31.6536878Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"fd0733b","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:31.6536878Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:36.6541428Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"888ee80","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:36.7163956Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":73,"TimingId":"888ee80","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:36.7163956Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:41.7320661Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"f0bf6f2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:41.7929865Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":60,"TimingId":"f0bf6f2","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:41.7929865Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:46.7950007Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"6a5296f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:46.8418766Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":47,"TimingId":"6a5296f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:46.8418766Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:51.8527184Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"11c4f20","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:51.9149970Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":66,"TimingId":"11c4f20","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:51.9149970Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:56.9316351Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"59a29f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:56.9785300Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":53,"TimingId":"59a29f5","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:23:56.9785300Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":67,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:00.2230318Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"d487e362-4a2f-4256-87f7-84e26f37991d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":66,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":256} -{"@t":"2018-11-12T09:24:00.2320087Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"d487e362-4a2f-4256-87f7-84e26f37991d","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","Duration":7.9779,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":256} -{"@t":"2018-11-12T09:24:01.9896344Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7f7352f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:02.0405050Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":50,"TimingId":"7f7352f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:02.0405050Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:07.0415529Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"b6c6588","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:07.1004561Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":72,"TimingId":"b6c6588","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:07.1004561Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:12.1155752Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"a387c0e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:12.1949596Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":79,"TimingId":"a387c0e","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:12.1959573Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:17.1972614Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"cfa4524","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:17.2749925Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":77,"TimingId":"cfa4524","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:17.2749925Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":70,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:18.5613436Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Scheduled tasks executing","TimingId":"4fc90ac","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:18.5613436Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Scheduled tasks complete","Duration":0,"TimingId":"4fc90ac","SourceContext":"Umbraco.Web.Scheduling.ScheduledTasks","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:18.5613436Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledTasks] ","TaskType":"Umbraco.Web.Scheduling.ScheduledTasks","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":77,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:20.6378988Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Keep alive executing","TimingId":"650ff0c","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":64,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:20.6378988Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"350537e3-31c3-44c0-8c8e-a14aa7e40a45","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":257} -{"@t":"2018-11-12T09:24:20.6378988Z","@mt":"End request [{HttpRequestId}]: {RequestUrl} took {Duration}ms","@l":"Verbose","HttpRequestId":"350537e3-31c3-44c0-8c8e-a14aa7e40a45","RequestUrl":"http://localhost:8000/umbraco/ping.aspx","Duration":0,"SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":257} -{"@t":"2018-11-12T09:24:20.6532756Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Keep alive complete","Duration":19,"TimingId":"650ff0c","SourceContext":"Umbraco.Web.Scheduling.KeepAlive","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:20.6532756Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[KeepAlive] ","TaskType":"Umbraco.Web.Scheduling.KeepAlive","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":48,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:22.2760303Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"df6e94f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:22.3259059Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":49,"TimingId":"df6e94f","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:22.3259059Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:22.6590076Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerRegistration] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+TouchServerTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":61,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:26.8981241Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ScheduledPublishing] ","TaskType":"Umbraco.Web.Scheduling.ScheduledPublishing","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":72,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:27.3269877Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"63ae611","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":61,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:27.4047607Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":78,"TimingId":"63ae611","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":61,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} -{"@t":"2018-11-12T09:24:27.4057583Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":61,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} diff --git a/src/Umbraco.Tests.Integration/RuntimeTests.cs b/src/Umbraco.Tests.Integration/RuntimeTests.cs index edbecad51e..db7f7499e3 100644 --- a/src/Umbraco.Tests.Integration/RuntimeTests.cs +++ b/src/Umbraco.Tests.Integration/RuntimeTests.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -10,9 +11,10 @@ using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Persistence; +using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Runtime; using Umbraco.Extensions; -using Umbraco.Infrastructure.Composing; using Umbraco.Tests.Common; using Umbraco.Tests.Integration.Extensions; using Umbraco.Tests.Integration.Implementations; @@ -44,11 +46,10 @@ namespace Umbraco.Tests.Integration [Test] public void Boot_Core_Runtime() { - // TODO: MSDI - cleanup after initial merge. - var umbracoContainer = new ServiceCollectionRegistryAdapter(new ServiceCollection()); + var services = new ServiceCollection().AddLazySupport(); // Special case since we are not using the Generic Host, we need to manually add an AspNetCore service to the container - umbracoContainer.Register(x => Mock.Of()); + services.AddTransient(x => Mock.Of()); var testHelper = new TestHelper(); @@ -64,37 +65,41 @@ namespace Umbraco.Tests.Integration var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings(); var webRoutingSettings = new WebRoutingSettings(); - umbracoContainer.Register(x => Options.Create(globalSettings)); - umbracoContainer.Register(x => Options.Create(contentSettings)); - umbracoContainer.Register(x => Options.Create(coreDebugSettings)); - umbracoContainer.Register(x => Options.Create(nuCacheSettings)); - umbracoContainer.Register(x => Options.Create(requestHandlerSettings)); - umbracoContainer.Register(x => Options.Create(userPasswordConfigurationSettings)); - umbracoContainer.Register(x => Options.Create(webRoutingSettings)); - umbracoContainer.Register(typeof(ILogger<>), typeof(Logger<>), Lifetime.Singleton); + services.AddTransient(x => Options.Create(globalSettings)); + services.AddTransient(x => Options.Create(connectionStrings)); + services.AddTransient(x => Options.Create(contentSettings)); + services.AddTransient(x => Options.Create(coreDebugSettings)); + services.AddTransient(x => Options.Create(nuCacheSettings)); + services.AddTransient(x => Options.Create(requestHandlerSettings)); + services.AddTransient(x => Options.Create(userPasswordConfigurationSettings)); + services.AddTransient(x => Options.Create(webRoutingSettings)); + services.AddSingleton(typeof(ILogger<>), typeof(Logger<>)); // Create the core runtime - var coreRuntime = new CoreRuntime(globalSettings, connectionStrings, testHelper.GetUmbracoVersion(), + var bootstrapper = new CoreRuntimeBootstrapper(globalSettings, connectionStrings, testHelper.GetUmbracoVersion(), testHelper.IOHelper, testHelper.ConsoleLoggerFactory, testHelper.Profiler, testHelper.UmbracoBootPermissionChecker, testHelper.GetHostingEnvironment(), testHelper.GetBackOfficeInfo(), testHelper.DbProviderFactoryCreator, testHelper.MainDom, testHelper.GetTypeFinder(), AppCaches.NoCache); - coreRuntime.Configure(umbracoContainer); + bootstrapper.Configure(services); - Assert.IsTrue(coreRuntime.MainDom.IsMainDom); - Assert.IsNull(coreRuntime.State.BootFailedException); - Assert.AreEqual(RuntimeLevel.Install, coreRuntime.State.Level); + Assert.IsTrue(bootstrapper.MainDom.IsMainDom); + Assert.IsNull(bootstrapper.State.BootFailedException); + Assert.AreEqual(RuntimeLevel.Install, bootstrapper.State.Level); Assert.IsTrue(MyComposer.IsComposed); Assert.IsFalse(MyComponent.IsInit); Assert.IsFalse(MyComponent.IsTerminated); + var container = services.BuildServiceProvider(); - coreRuntime.Start(); + var runtime = container.GetRequiredService(); + + runtime.Start(); Assert.IsTrue(MyComponent.IsInit); Assert.IsFalse(MyComponent.IsTerminated); - coreRuntime.Terminate(); + runtime.Terminate(); Assert.IsTrue(MyComponent.IsTerminated); } @@ -117,10 +122,7 @@ namespace Umbraco.Tests.Integration // Add it! services.AddUmbracoConfiguration(hostContext.Configuration); - - // TODO: MSDI - cleanup after initial merge. - var register = new ServiceCollectionRegistryAdapter(services); - services.AddUmbracoCore(webHostEnvironment, register, GetType().Assembly, AppCaches.NoCache, testHelper.GetLoggingConfiguration(), hostContext.Configuration,out _); + services.AddUmbracoCore(webHostEnvironment, GetType().Assembly, AppCaches.NoCache, testHelper.GetLoggingConfiguration(), hostContext.Configuration); }); var host = await hostBuilder.StartAsync(); @@ -159,9 +161,7 @@ namespace Umbraco.Tests.Integration // Add it! services.AddUmbracoConfiguration(hostContext.Configuration); - // TODO: MSDI - cleanup after initial merge. - var register = new ServiceCollectionRegistryAdapter(services); - services.AddUmbracoCore(webHostEnvironment, register, GetType().Assembly, AppCaches.NoCache, testHelper.GetLoggingConfiguration(),hostContext.Configuration, out _); + services.AddUmbracoCore(webHostEnvironment, GetType().Assembly, AppCaches.NoCache, testHelper.GetLoggingConfiguration(),hostContext.Configuration); }); var host = await hostBuilder.StartAsync(); diff --git a/src/Umbraco.Tests.Integration/TestServerTest/UmbracoBuilderExtensions.cs b/src/Umbraco.Tests.Integration/TestServerTest/UmbracoBuilderExtensions.cs index 62585e1423..171914ecd6 100644 --- a/src/Umbraco.Tests.Integration/TestServerTest/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Tests.Integration/TestServerTest/UmbracoBuilderExtensions.cs @@ -1,10 +1,7 @@ using System; using Umbraco.Core.Cache; -using Umbraco.Core.Composing.LightInject; -using Umbraco.Core.Configuration.Models; using Umbraco.Core.Runtime; using Umbraco.Extensions; -using Umbraco.Infrastructure.Composing; using Umbraco.Tests.Integration.Implementations; using Umbraco.Tests.Integration.Testing; using Umbraco.Web.Common.Builder; @@ -19,16 +16,13 @@ namespace Umbraco.Tests.Integration.TestServerTest /// /// public static IUmbracoBuilder WithTestCore(this IUmbracoBuilder builder, TestHelper testHelper, - Action dbInstallEventHandler) + Action dbInstallEventHandler) { return builder.AddWith(nameof(global::Umbraco.Web.Common.Builder.UmbracoBuilderExtensions.WithCore), () => { - // TODO: MSDI - cleanup after initial merge. - var register = new ServiceCollectionRegistryAdapter(builder.Services); builder.Services.AddUmbracoCore( builder.WebHostEnvironment, - register, typeof(UmbracoBuilderExtensions).Assembly, AppCaches.NoCache, // Disable caches in integration tests testHelper.GetLoggingConfiguration(), @@ -52,8 +46,7 @@ namespace Umbraco.Tests.Integration.TestServerTest dbInstallEventHandler); // DB Installation event handler return runtime; - }, - out _); + }); }); } } diff --git a/src/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs b/src/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs index 8017dd617c..792b5cd5c1 100644 --- a/src/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs +++ b/src/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs @@ -13,7 +13,6 @@ using Microsoft.AspNetCore.TestHost; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using NUnit.Framework; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Extensions; using Umbraco.Tests.Integration.Testing; @@ -21,14 +20,13 @@ using Umbraco.Tests.Testing; using Umbraco.Web; using Umbraco.Web.Common.Builder; using Umbraco.Web.Common.Controllers; -using Umbraco.Web.Editors; using Microsoft.Extensions.Hosting; using Umbraco.Web.BackOffice.Controllers; namespace Umbraco.Tests.Integration.TestServerTest { [TestFixture] - [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, Logger = UmbracoTestOptions.Logger.Console, Boot = false)] + [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, Logger = UmbracoTestOptions.Logger.Console, Boot = true)] public abstract class UmbracoTestServerTestBase : UmbracoIntegrationTest { [SetUp] @@ -119,13 +117,9 @@ namespace Umbraco.Tests.Integration.TestServerTest public override void TearDown() { base.TearDown(); + base.TerminateCoreRuntime(); Factory.Dispose(); - - if (Current.IsInitialized) - { - Current.IsInitialized = false; - } } #region IStartup diff --git a/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs b/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs index 6e83e57c2c..f64c2c48b1 100644 --- a/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs +++ b/src/Umbraco.Tests.Integration/Testing/IntegrationTestComposer.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Core; @@ -41,22 +42,21 @@ namespace Umbraco.Tests.Integration.Testing { base.Compose(composition); - composition.Components().Remove(); composition.Components().Remove(); - composition.RegisterUnique(); - composition.RegisterUnique(factory => Mock.Of()); + composition.Services.AddUnique(); + composition.Services.AddUnique(factory => Mock.Of()); // we don't want persisted nucache files in tests - composition.Register(factory => new PublishedSnapshotServiceOptions { IgnoreLocalDb = true }); + composition.Services.AddTransient(factory => new PublishedSnapshotServiceOptions { IgnoreLocalDb = true }); // ensure all lucene indexes are using RAM directory (no file system) - composition.RegisterUnique(); + composition.Services.AddUnique(); // replace this service so that it can lookup the correct file locations - composition.RegisterUnique(GetLocalizedTextService); + composition.Services.AddUnique(GetLocalizedTextService); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); } @@ -66,11 +66,11 @@ namespace Umbraco.Tests.Integration.Testing /// we don't need to copy files /// /// - private ILocalizedTextService GetLocalizedTextService(IFactory factory) + private ILocalizedTextService GetLocalizedTextService(IServiceProvider factory) { - var globalSettings = factory.GetInstance>(); - var loggerFactory = factory.GetInstance(); - var appCaches = factory.GetInstance(); + var globalSettings = factory.GetRequiredService>(); + var loggerFactory = factory.GetRequiredService(); + var appCaches = factory.GetRequiredService(); var localizedTextService = new LocalizedTextService( new Lazy(() => diff --git a/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs b/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs index 9a131198ab..1232fba287 100644 --- a/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs +++ b/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs @@ -6,7 +6,6 @@ using Microsoft.Extensions.Hosting; using NUnit.Framework; using Umbraco.Core.Cache; using Umbraco.Core.Composing; -using Umbraco.Core.Composing.LightInject; using Umbraco.Core.Configuration; using Umbraco.Core.IO; using Umbraco.Core.Logging; @@ -33,11 +32,7 @@ using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Serilog; -using Umbraco.Core.Logging.Serilog; -using Umbraco.Infrastructure.Composing; -using Umbraco.Web.PublishedCache; using ConnectionStrings = Umbraco.Core.Configuration.Models.ConnectionStrings; -using ILogger = Microsoft.Extensions.Logging.ILogger; namespace Umbraco.Tests.Integration.Testing { @@ -73,20 +68,39 @@ namespace Umbraco.Tests.Integration.Testing [TearDown] public virtual void TearDown() { - foreach (var a in _testTeardown) a(); + if (_testTeardown != null) + { + foreach (var a in _testTeardown) a(); + } _testTeardown = null; FirstTestInFixture = false; FirstTestInSession = false; } + [TearDown] + public virtual void TearDown_Logging() + { + TestContext.Progress.Write($" {TestContext.CurrentContext.Result.Outcome.Status}"); + } + + [SetUp] + public virtual void SetUp_Logging() + { + TestContext.Progress.Write($"Start test {TestCount++}: {TestContext.CurrentContext.Test.Name}"); + } + [SetUp] public virtual void Setup() { + InMemoryConfiguration[Constants.Configuration.ConfigGlobal + ":" + nameof(GlobalSettings.InstallEmptyDatabase)] = "true"; var hostBuilder = CreateHostBuilder(); - var host = hostBuilder.StartAsync().GetAwaiter().GetResult(); + + var host = hostBuilder.Start(); + Services = host.Services; var app = new ApplicationBuilder(host.Services); - Configure(app); //Takes around 200 ms + + Configure(app); OnFixtureTearDown(() => host.Dispose()); } @@ -130,8 +144,10 @@ namespace Umbraco.Tests.Integration.Testing .ConfigureAppConfiguration((context, configBuilder) => { context.HostingEnvironment = TestHelper.GetWebHostEnvironment(); - Configuration = context.Configuration; + configBuilder.Sources.Clear(); configBuilder.AddInMemoryCollection(InMemoryConfiguration); + + Configuration = configBuilder.Build(); }) .ConfigureServices((hostContext, services) => { @@ -142,7 +158,7 @@ namespace Umbraco.Tests.Integration.Testing } /// - /// Creates a instance for testing and registers an event handler for database install + /// Creates a instance for testing and registers an event handler for database install /// /// /// @@ -157,7 +173,7 @@ namespace Umbraco.Tests.Integration.Testing /// /// /// - public CoreRuntime CreateTestRuntime( + public CoreRuntimeBootstrapper CreateTestRuntime( GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, @@ -184,7 +200,7 @@ namespace Umbraco.Tests.Integration.Testing } /// - /// Creates a instance for testing and registers an event handler for database install + /// Creates a instance for testing and registers an event handler for database install /// /// /// @@ -201,15 +217,15 @@ namespace Umbraco.Tests.Integration.Testing /// The event handler used for DB installation /// /// - public static CoreRuntime CreateTestRuntime( + public static CoreRuntimeBootstrapper CreateTestRuntime( GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILoggerFactory loggerFactory, IProfiler profiler, Core.Hosting.IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo, ITypeFinder typeFinder, AppCaches appCaches, IDbProviderFactoryCreator dbProviderFactoryCreator, - IMainDom mainDom, Action eventHandler) + IMainDom mainDom, Action eventHandler) { - var runtime = new CoreRuntime( + var runtime = new CoreRuntimeBootstrapper( globalSettings, connectionStrings, umbracoVersion, @@ -241,21 +257,18 @@ namespace Umbraco.Tests.Integration.Testing // Add it! services.AddUmbracoConfiguration(Configuration); - // TODO: MSDI - cleanup after initial merge. - var register = new ServiceCollectionRegistryAdapter(services); + services.AddUmbracoCore( webHostEnvironment, - register, GetType().Assembly, - AppCaches.NoCache, // Disable caches for integration tests + GetAppCaches(), TestHelper.GetLoggingConfiguration(), Configuration, - CreateTestRuntime, - out _); + CreateTestRuntime); services.AddSignalR(); - services.AddUmbracoWebComponents(); + services.AddUmbracoWebComponents(Configuration); services.AddUmbracoRuntimeMinifier(Configuration); services.AddUmbracoBackOffice(); services.AddUmbracoBackOfficeIdentity(); @@ -265,6 +278,12 @@ namespace Umbraco.Tests.Integration.Testing CustomTestSetup(services); } + protected virtual AppCaches GetAppCaches() + { + // Disable caches for integration tests + return AppCaches.NoCache; + } + public virtual void Configure(IApplicationBuilder app) { //get the currently set options @@ -274,9 +293,21 @@ namespace Umbraco.Tests.Integration.Testing Services.GetRequiredService().EnsureBackOfficeSecurity(); Services.GetRequiredService().EnsureUmbracoContext(); app.UseUmbracoCore(); // Takes 200 ms + + OnTestTearDown(TerminateCoreRuntime); } } + /// + /// Some IComponents hook onto static events (e.g. Published in ContentService) + /// If these fire after the components host has been shutdown, errors can occur. + /// If CoreRuntime.Start() is called We also need to de-register the events. + /// + protected void TerminateCoreRuntime() + { + Services.GetRequiredService().Terminate(); + } + #endregion #region LocalDb @@ -285,19 +316,23 @@ namespace Umbraco.Tests.Integration.Testing private static LocalDbTestDatabase _dbInstance; /// - /// Event handler for the to install the database and register the to Terminate + /// Event handler for the to install the database /// - /// + /// /// - protected void UseTestLocalDb(CoreRuntime runtime, RuntimeEssentialsEventArgs args) + protected void UseTestLocalDb(CoreRuntimeBootstrapper runtimeBootstrapper, RuntimeEssentialsEventArgs args) { - // MUST be terminated on teardown - OnTestTearDown(() => runtime.Terminate()); - // This will create a db, install the schema and ensure the app is configured to run - InstallTestLocalDb(args.DatabaseFactory, runtime.RuntimeLoggerFactory, runtime.State, TestHelper.WorkingDirectory, out var connectionString); - TestDBConnectionString = connectionString; + InstallTestLocalDb(args.DatabaseFactory, runtimeBootstrapper.RuntimeLoggerFactory, runtimeBootstrapper.State, TestHelper.WorkingDirectory); + TestDBConnectionString = args.DatabaseFactory.ConnectionString; InMemoryConfiguration["ConnectionStrings:" + Constants.System.UmbracoConnectionName] = TestDBConnectionString; + + // Re-configure IOptions now that we have a test db + // This is what will be resolved first time IUmbracoDatabaseFactory is resolved from container (e.g. post CoreRuntime bootstrap) + args.Composition.Services.Configure((x) => + { + x.UmbracoConnectionString = new ConfigConnectionString(Constants.System.UmbracoConnectionName, TestDBConnectionString); + }); } /// @@ -338,9 +373,8 @@ namespace Umbraco.Tests.Integration.Testing /// private void InstallTestLocalDb( IUmbracoDatabaseFactory databaseFactory, ILoggerFactory loggerFactory, - IRuntimeState runtimeState, string workingDirectory, out string connectionString) + IRuntimeState runtimeState, string workingDirectory) { - connectionString = null; var dbFilePath = Path.Combine(workingDirectory, "LocalDb"); // get the currently set db options @@ -380,12 +414,21 @@ namespace Umbraco.Tests.Integration.Testing break; case UmbracoTestOptions.Database.NewEmptyPerTest: - var newEmptyDbId = db.AttachEmpty(); // Add teardown callback OnTestTearDown(() => db.Detach(newEmptyDbId)); + // We must re-configure our current factory since attaching a new LocalDb from the pool changes connection strings + if (!databaseFactory.Configured) + { + databaseFactory.Configure(db.ConnectionString, Constants.DatabaseProviders.SqlServer); + } + + // re-run the runtime level check + runtimeState.DetermineRuntimeLevel(); + + Assert.AreEqual(RuntimeLevel.Install, runtimeState.Level); break; case UmbracoTestOptions.Database.NewSchemaPerFixture: @@ -412,17 +455,28 @@ namespace Umbraco.Tests.Integration.Testing break; case UmbracoTestOptions.Database.NewEmptyPerFixture: + // Only attach schema once per fixture + // Doing it more than once will block the process since the old db hasn't been detached + // and it would be the same as NewSchemaPerTest even if it didn't block + if (FirstTestInFixture) + { + // New DB + Schema + var newEmptyFixtureDbId = db.AttachEmpty(); - throw new NotImplementedException(); + // Add teardown callback + OnFixtureTearDown(() => db.Detach(newEmptyFixtureDbId)); + } - //// Add teardown callback - //integrationTest.OnFixtureTearDown(() => db.Detach()); + // We must re-configure our current factory since attaching a new LocalDb from the pool changes connection strings + if (!databaseFactory.Configured) + { + databaseFactory.Configure(db.ConnectionString, Constants.DatabaseProviders.SqlServer); + } break; default: throw new ArgumentOutOfRangeException(nameof(testOptions), testOptions, null); } - connectionString = db.ConnectionString; } #endregion @@ -479,5 +533,6 @@ namespace Umbraco.Tests.Integration.Testing protected static bool FirstTestInSession = true; protected bool FirstTestInFixture = true; + protected static int TestCount = 1; } } diff --git a/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTestWithContent.cs b/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTestWithContent.cs index 6e39c858d5..ecfc829427 100644 --- a/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTestWithContent.cs +++ b/src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTestWithContent.cs @@ -1,4 +1,5 @@ using System; +using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; @@ -12,9 +13,8 @@ namespace Umbraco.Tests.Integration.Testing protected IFileService FileService => GetRequiredService(); protected ContentService ContentService => (ContentService)GetRequiredService(); - public override void Setup() - { - base.Setup(); + [SetUp] + public void Setup(){ CreateTestData(); } diff --git a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.config b/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.config deleted file mode 100644 index 492b619e89..0000000000 --- a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.config +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - jpeg,jpg,gif,bmp,png,tiff,tif - - - - umbracoWidth - umbracoHeight - umbracoBytes - umbracoExtension - - - umbracoWidth2 - umbracoHeight2 - umbracoBytes2 - umbracoExtension2 - - - - - - - - - 1047 - $site/error [@name = 'error'] - 8560867F-B88F-4C74-A9A4-679D8E5B3BFC - - - - - - robot@umbraco.dk - true - - - - Preview modeClick to end]]> - - - inline - - - ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd - - - jpg,png,gif - - - - - - true - - - false - - - true - - - - - - - - - true - - - - - - - - - - - - - plus - star - - - ae - oe - aa - ae - oe - ue - ss - ae - oe - - - - - - - - - 1440 - - - - - - - diff --git a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.minimal.config b/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.minimal.config deleted file mode 100644 index d94a124c89..0000000000 --- a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/umbracoSettings.minimal.config +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - 1 - - - - - - robot@umbraco.dk - - - - - - - - - - - - - - - diff --git a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/web.config b/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/web.config deleted file mode 100644 index 5ac2d56d14..0000000000 --- a/src/Umbraco.Tests.Integration/Umbraco.Configuration/Configurations/web.config +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -
-
- - - - - - - - - diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs index 5b39eb9864..195ecc5aa2 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs @@ -392,11 +392,5 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositor Assert.That(doesntExist, Is.False); } } - - [TearDown] - public override void TearDown() - { - base.TearDown(); - } } } diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DocumentRepositoryTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DocumentRepositoryTest.cs index 5cf402be26..6d4303f7a1 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DocumentRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/DocumentRepositoryTest.cs @@ -47,11 +47,10 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositor ContentRepositoryBase.ThrowOnWarning = true; } - public override void TearDown() + [TearDown] + public void Teardown() { ContentRepositoryBase.ThrowOnWarning = false; - - base.TearDown(); } public void CreateTestData() diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/RelationRepositoryTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/RelationRepositoryTest.cs index 1989478186..511d20588f 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/RelationRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/RelationRepositoryTest.cs @@ -252,11 +252,11 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositor [Test] public void Get_Paged_Child_Entities_By_Parent_Id() { - CreateTestDataForPagingTests(out var createdContent, out var createdMembers, out var createdMedia); + CreateTestDataForPagingTests(out var createdContent, out var createdMembers, out _); using (var scope = ScopeProvider.CreateScope()) { - var repository = CreateRepository(ScopeProvider, out var relationTypeRepository); + var repository = CreateRepository(ScopeProvider, out _); // Get parent entities for child id var parents = repository.GetPagedChildEntitiesByParentId(createdContent[0].Id, 0, 6, out var totalRecords).ToList(); @@ -410,12 +410,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositor } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { _relateContent = new RelationType( diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeFileSystemsTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeFileSystemsTests.cs index 38a3674d21..1c398f681a 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeFileSystemsTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeFileSystemsTests.cs @@ -14,7 +14,7 @@ using Umbraco.Tests.Testing; using Umbraco.Tests.Integration.Testing; using FileSystems = Umbraco.Core.IO.FileSystems; -namespace Umbraco.Tests.Scoping +namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Scoping { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewEmptyPerTest)] @@ -44,7 +44,7 @@ namespace Umbraco.Tests.Scoping TestHelper.DeleteDirectory(ioHelper.MapPath("FileSysTests")); TestHelper.DeleteDirectory(ioHelper.MapPath(Constants.SystemDirectories.TempData.EnsureEndsWith('/') + "ShadowFs")); } - + [Test] public void test_MediaFileSystem_does_not_write_to_physical_file_system_when_scoped_if_scope_does_not_complete() { @@ -61,7 +61,7 @@ namespace Umbraco.Tests.Scoping mediaFileSystem.AddFile("f1.txt", ms); Assert.IsTrue(mediaFileSystem.FileExists("f1.txt")); Assert.IsFalse(physMediaFileSystem.FileExists("f1.txt")); - + Assert.IsTrue(mediaFileSystem.FileExists("f1.txt")); Assert.IsFalse(physMediaFileSystem.FileExists("f1.txt")); } diff --git a/src/Umbraco.Tests/Scoping/ScopeTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeTests.cs similarity index 93% rename from src/Umbraco.Tests/Scoping/ScopeTests.cs rename to src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeTests.cs index eb4a01d06b..85331bb2af 100644 --- a/src/Umbraco.Tests/Scoping/ScopeTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopeTests.cs @@ -3,20 +3,20 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Persistence; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Scoping +namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Scoping { [TestFixture] - [UmbracoTest(Database = UmbracoTestOptions.Database.NewEmptyPerTest)] - public class ScopeTests : TestWithDatabaseBase + [UmbracoTest(Database = UmbracoTestOptions.Database.NewEmptyPerFixture)] + public class ScopeTests : UmbracoIntegrationTest { - // setup - public override void SetUp() - { - base.SetUp(); + private new ScopeProvider ScopeProvider => (ScopeProvider) base.ScopeProvider; + [SetUp] + public void SetUp() + { Assert.IsNull(ScopeProvider.AmbientScope); // gone } @@ -25,7 +25,7 @@ namespace Umbraco.Tests.Scoping { var scopeProvider = ScopeProvider; - Assert.IsNull(scopeProvider.AmbientScope); + Assert.IsNull(ScopeProvider.AmbientScope); using (var scope = scopeProvider.CreateScope()) { Assert.IsInstanceOf(scope); @@ -241,32 +241,32 @@ namespace Umbraco.Tests.Scoping using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("CREATE TABLE tmp (id INT, name NVARCHAR(64))"); + scope.Database.Execute("CREATE TABLE tmp3 (id INT, name NVARCHAR(64))"); scope.Complete(); } using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("INSERT INTO tmp (id, name) VALUES (1, 'a')"); - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + scope.Database.Execute("INSERT INTO tmp3 (id, name) VALUES (1, 'a')"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp3 WHERE id=1"); Assert.AreEqual("a", n); } using (var scope = scopeProvider.CreateScope()) { - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp3 WHERE id=1"); Assert.IsNull(n); } using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("INSERT INTO tmp (id, name) VALUES (1, 'a')"); + scope.Database.Execute("INSERT INTO tmp3 (id, name) VALUES (1, 'a')"); scope.Complete(); } using (var scope = scopeProvider.CreateScope()) { - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp3 WHERE id=1"); Assert.AreEqual("a", n); } } @@ -278,24 +278,24 @@ namespace Umbraco.Tests.Scoping using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("CREATE TABLE tmp (id INT, name NVARCHAR(64))"); + scope.Database.Execute($"CREATE TABLE tmp1 (id INT, name NVARCHAR(64))"); scope.Complete(); } using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("INSERT INTO tmp (id, name) VALUES (1, 'a')"); - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + scope.Database.Execute("INSERT INTO tmp1 (id, name) VALUES (1, 'a')"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp1 WHERE id=1"); Assert.AreEqual("a", n); using (var nested = scopeProvider.CreateScope()) { - nested.Database.Execute("INSERT INTO tmp (id, name) VALUES (2, 'b')"); - var nn = nested.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + nested.Database.Execute("INSERT INTO tmp1 (id, name) VALUES (2, 'b')"); + var nn = nested.Database.ExecuteScalar("SELECT name FROM tmp1 WHERE id=2"); Assert.AreEqual("b", nn); } - n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + n = scope.Database.ExecuteScalar("SELECT name FROM tmp1 WHERE id=2"); Assert.AreEqual("b", n); scope.Complete(); @@ -303,9 +303,9 @@ namespace Umbraco.Tests.Scoping using (var scope = scopeProvider.CreateScope()) { - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp1 WHERE id=1"); Assert.IsNull(n); - n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + n = scope.Database.ExecuteScalar("SELECT name FROM tmp1 WHERE id=2"); Assert.IsNull(n); } } @@ -317,33 +317,33 @@ namespace Umbraco.Tests.Scoping using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("CREATE TABLE tmp (id INT, name NVARCHAR(64))"); + scope.Database.Execute("CREATE TABLE tmp2 (id INT, name NVARCHAR(64))"); scope.Complete(); } using (var scope = scopeProvider.CreateScope()) { - scope.Database.Execute("INSERT INTO tmp (id, name) VALUES (1, 'a')"); - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + scope.Database.Execute("INSERT INTO tmp2 (id, name) VALUES (1, 'a')"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp2 WHERE id=1"); Assert.AreEqual("a", n); using (var nested = scopeProvider.CreateScope()) { - nested.Database.Execute("INSERT INTO tmp (id, name) VALUES (2, 'b')"); - var nn = nested.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + nested.Database.Execute("INSERT INTO tmp2 (id, name) VALUES (2, 'b')"); + var nn = nested.Database.ExecuteScalar("SELECT name FROM tmp2 WHERE id=2"); Assert.AreEqual("b", nn); nested.Complete(); } - n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + n = scope.Database.ExecuteScalar("SELECT name FROM tmp2 WHERE id=2"); Assert.AreEqual("b", n); } using (var scope = scopeProvider.CreateScope()) { - var n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=1"); + var n = scope.Database.ExecuteScalar("SELECT name FROM tmp2 WHERE id=1"); Assert.IsNull(n); - n = scope.Database.ExecuteScalar("SELECT name FROM tmp WHERE id=2"); + n = scope.Database.ExecuteScalar("SELECT name FROM tmp2 WHERE id=2"); Assert.IsNull(n); } } diff --git a/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopedRepositoryTests.cs similarity index 80% rename from src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs rename to src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopedRepositoryTests.cs index 7bffbbe2ed..2976aca085 100644 --- a/src/Umbraco.Tests/Scoping/ScopedRepositoryTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Scoping/ScopedRepositoryTests.cs @@ -1,64 +1,49 @@ using System; using System.Collections.Generic; using System.Linq; -using Moq; -using NUnit.Framework; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; -using Umbraco.Core; +using NUnit.Framework; using Umbraco.Core.Cache; -using Umbraco.Core.Configuration.Models; using Umbraco.Core.Events; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Scoping; +using Umbraco.Core.Services; +using Umbraco.Core.Services.Implement; using Umbraco.Core.Sync; -using Umbraco.Tests.Common.Builders; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; using Umbraco.Web; using Umbraco.Web.Cache; -using Umbraco.Web.Composing; -namespace Umbraco.Tests.Scoping +namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Scoping { [TestFixture] - [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, WithApplication = true)] - public class ScopedRepositoryTests : TestWithDatabaseBase + [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] + public class ScopedRepositoryTests : UmbracoIntegrationTest { private DistributedCacheBinder _distributedCacheBinder; - private GlobalSettings _globalSettings; + private IUserService UserService => GetRequiredService(); + private ILocalizationService LocalizationService => GetRequiredService(); + private IServerMessenger ServerMessenger => GetRequiredService(); + private CacheRefresherCollection CacheRefresherCollection => GetRequiredService(); - public override void SetUp() - { - base.SetUp(); - - _globalSettings = new GlobalSettings(); - } - - protected override void Compose() - { - base.Compose(); - - // the cache refresher component needs to trigger to refresh caches - // but then, it requires a lot of plumbing ;( - // FIXME: and we cannot inject a DistributedCache yet - // so doing all this mess - Composition.RegisterUnique(); - Composition.RegisterUnique(f => Mock.Of()); - Composition.WithCollectionBuilder() - .Add(() => Composition.TypeLoader.GetCacheRefreshers()); - } + protected override Action CustomTestSetup => (services) + => services.Replace(ServiceDescriptor.Singleton(typeof(IServerMessenger), typeof(LocalServerMessenger))); protected override AppCaches GetAppCaches() { // this is what's created core web runtime - return new AppCaches( + var result = new AppCaches( new DeepCloneAppCache(new ObjectCacheAppCache()), NoAppCache.Instance, new IsolatedCaches(type => new DeepCloneAppCache(new ObjectCacheAppCache()))); - } + return result; + } [TearDown] public void Teardown() { @@ -70,11 +55,10 @@ namespace Umbraco.Tests.Scoping [TestCase(false)] public void DefaultRepositoryCachePolicy(bool complete) { - var scopeProvider = ScopeProvider; - var service = ServiceContext.UserService; - var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof(IUser)); - - var user = (IUser)new User(_globalSettings, "name", "email", "username", "rawPassword"); + var scopeProvider = (ScopeProvider)ScopeProvider; + var service = (UserService)UserService; + var globalCache = AppCaches.IsolatedCaches.GetOrCreate(typeof(IUser)); + var user = (IUser)new User(GlobalSettings, "name", "email", "username", "rawPassword"); service.Save(user); // global cache contains the entity @@ -86,13 +70,13 @@ namespace Umbraco.Tests.Scoping // get user again - else we'd modify the one that's in the cache user = service.GetUserById(user.Id); - _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(Current.ServerMessenger, Current.CacheRefreshers), Mock.Of(), Mock.Of>()); + _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(ServerMessenger, CacheRefresherCollection), GetRequiredService(), GetRequiredService>()); _distributedCacheBinder.BindEvents(true); Assert.IsNull(scopeProvider.AmbientScope); using (var scope = scopeProvider.CreateScope(repositoryCacheMode: RepositoryCacheMode.Scoped)) { - Assert.IsInstanceOf(scope); + Assert.IsInstanceOf(scope); Assert.IsNotNull(scopeProvider.AmbientScope); Assert.AreSame(scope, scopeProvider.AmbientScope); @@ -147,11 +131,11 @@ namespace Umbraco.Tests.Scoping [TestCase(false)] public void FullDataSetRepositoryCachePolicy(bool complete) { - var scopeProvider = ScopeProvider; - var service = ServiceContext.LocalizationService; - var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof (ILanguage)); + var scopeProvider = (ScopeProvider)ScopeProvider; + var service = LocalizationService; + var globalCache = AppCaches.IsolatedCaches.GetOrCreate(typeof (ILanguage)); - var lang = (ILanguage) new Language(_globalSettings, "fr-FR"); + var lang = (ILanguage) new Language(GlobalSettings, "fr-FR"); service.Save(lang); // global cache has been flushed, reload @@ -167,13 +151,13 @@ namespace Umbraco.Tests.Scoping Assert.AreEqual(lang.Id, globalCached.Id); Assert.AreEqual("fr-FR", globalCached.IsoCode); - _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(Current.ServerMessenger, Current.CacheRefreshers), Mock.Of(), Mock.Of>()); + _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(ServerMessenger, CacheRefresherCollection), GetRequiredService(), GetRequiredService>()); _distributedCacheBinder.BindEvents(true); Assert.IsNull(scopeProvider.AmbientScope); using (var scope = scopeProvider.CreateScope(repositoryCacheMode: RepositoryCacheMode.Scoped)) { - Assert.IsInstanceOf(scope); + Assert.IsInstanceOf(scope); Assert.IsNotNull(scopeProvider.AmbientScope); Assert.AreSame(scope, scopeProvider.AmbientScope); @@ -181,7 +165,8 @@ namespace Umbraco.Tests.Scoping var scopedCache = scope.IsolatedCaches.GetOrCreate(typeof (ILanguage)); Assert.AreNotSame(globalCache, scopedCache); - lang.IsoCode = "de-DE"; + //Use IsMandatory of isocode to ensure publishedContent cache is not also rebuild + lang.IsMandatory = true; service.Save(lang); // scoped cache has been flushed, reload @@ -195,7 +180,7 @@ namespace Umbraco.Tests.Scoping var scopeCached = scopeFullCached.First(x => x.Id == lang.Id); Assert.IsNotNull(scopeCached); Assert.AreEqual(lang.Id, scopeCached.Id); - Assert.AreEqual("de-DE", scopeCached.IsoCode); + Assert.AreEqual(true, scopeCached.IsMandatory); // global cache is unchanged globalFullCached = (IEnumerable) globalCache.Get(GetCacheTypeKey(), () => null); @@ -203,7 +188,7 @@ namespace Umbraco.Tests.Scoping globalCached = globalFullCached.First(x => x.Id == lang.Id); Assert.IsNotNull(globalCached); Assert.AreEqual(lang.Id, globalCached.Id); - Assert.AreEqual("fr-FR", globalCached.IsoCode); + Assert.AreEqual(false, globalCached.IsMandatory); if (complete) scope.Complete(); @@ -224,7 +209,7 @@ namespace Umbraco.Tests.Scoping // get again, updated if completed lang = service.GetLanguageById(lang.Id); - Assert.AreEqual(complete ? "de-DE" : "fr-FR", lang.IsoCode); + Assert.AreEqual(complete ? true : false, lang.IsMandatory); // global cache contains the entity again globalFullCached = (IEnumerable) globalCache.Get(GetCacheTypeKey(), () => null); @@ -232,18 +217,18 @@ namespace Umbraco.Tests.Scoping globalCached = globalFullCached.First(x => x.Id == lang.Id); Assert.IsNotNull(globalCached); Assert.AreEqual(lang.Id, globalCached.Id); - Assert.AreEqual(complete ? "de-DE" : "fr-FR", lang.IsoCode); + Assert.AreEqual(complete ? true : false, lang.IsMandatory); } [TestCase(true)] [TestCase(false)] public void SingleItemsOnlyRepositoryCachePolicy(bool complete) { - var scopeProvider = ScopeProvider; - var service = ServiceContext.LocalizationService; - var globalCache = Current.AppCaches.IsolatedCaches.GetOrCreate(typeof (IDictionaryItem)); + var scopeProvider = (ScopeProvider)ScopeProvider; + var service = LocalizationService; + var globalCache = AppCaches.IsolatedCaches.GetOrCreate(typeof (IDictionaryItem)); - var lang = (ILanguage)new Language(_globalSettings, "fr-FR"); + var lang = (ILanguage)new Language(GlobalSettings, "fr-FR"); service.Save(lang); var item = (IDictionaryItem) new DictionaryItem("item-key"); @@ -259,13 +244,13 @@ namespace Umbraco.Tests.Scoping Assert.AreEqual(item.Id, globalCached.Id); Assert.AreEqual("item-key", globalCached.ItemKey); - _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(Current.ServerMessenger, Current.CacheRefreshers), Mock.Of(), Mock.Of>()); + _distributedCacheBinder = new DistributedCacheBinder(new DistributedCache(ServerMessenger, CacheRefresherCollection), GetRequiredService(), GetRequiredService>()); _distributedCacheBinder.BindEvents(true); Assert.IsNull(scopeProvider.AmbientScope); using (var scope = scopeProvider.CreateScope(repositoryCacheMode: RepositoryCacheMode.Scoped)) { - Assert.IsInstanceOf(scope); + Assert.IsInstanceOf(scope); Assert.IsNotNull(scopeProvider.AmbientScope); Assert.AreSame(scope, scopeProvider.AmbientScope); diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentEventsTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentEventsTests.cs index 45b0eb0660..d5f9f41cbb 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentEventsTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentEventsTests.cs @@ -7,7 +7,6 @@ using Umbraco.Core.Cache; using Microsoft.Extensions.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories.Implement; -using Umbraco.Core.Services; using Umbraco.Core.Sync; using Umbraco.Tests.Common.Builders; using Umbraco.Tests.Integration.Testing; @@ -24,8 +23,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services private CacheRefresherCollection CacheRefresherCollection => GetRequiredService(); private IUmbracoContextFactory UmbracoContextFactory => GetRequiredService(); private ILogger Logger => GetRequiredService>(); - private IContentService ContentService => GetRequiredService(); - private IFileService FileService => GetRequiredService(); #region Setup @@ -60,7 +57,7 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services // base.Compose(); // // Composition.Register(_ => new TestServerRegistrar()); // localhost-only - // Composition.RegisterUnique(); + // composition.Services.AddUnique(); // // Composition.WithCollectionBuilder() // .Add() diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceEventTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceEventTests.cs index 9e1f6a6c6c..83d669a06e 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceEventTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceEventTests.cs @@ -47,10 +47,10 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services ContentTypeService.Save(_contentType); } - public override void TearDown() + [TearDown] + public void Teardown() { ContentRepositoryBase.ThrowOnWarning = false; - base.TearDown(); } [Test] diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServicePerformanceTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServicePerformanceTest.cs index 0ac59e240c..072fbe04a3 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServicePerformanceTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServicePerformanceTest.cs @@ -5,7 +5,7 @@ using System.Linq; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; -using Umbraco.Composing; +using Umbraco.Core; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; @@ -109,7 +109,7 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services total.AddRange(ContentService.GetPagedDescendants(content.Id, 0, int.MaxValue, out var _)); } TestProfiler.Disable(); - Current.Logger.LogInformation("Returned {Total} items", total.Count); + StaticApplicationLogging.Logger.LogInformation("Returned {Total} items", total.Count); } } @@ -264,12 +264,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTagsTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTagsTests.cs index 6473b69d3c..829fcfa65f 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTagsTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTagsTests.cs @@ -28,16 +28,16 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services private IFileService FileService => GetRequiredService(); public PropertyEditorCollection PropertyEditorCollection => GetRequiredService(); - public override void Setup() + [SetUp] + public void Setup() { - base.Setup(); ContentRepositoryBase.ThrowOnWarning = true; } - public override void TearDown() + [TearDown] + public void Teardown() { ContentRepositoryBase.ThrowOnWarning = false; - base.TearDown(); } [Test] diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTests.cs index 9082473f28..75c479b035 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentServiceTests.cs @@ -48,16 +48,16 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services private PropertyEditorCollection PropertyEditorCollection => GetRequiredService(); private IDocumentRepository DocumentRepository => GetRequiredService(); - public override void Setup() + [SetUp] + public void Setup() { - base.Setup(); ContentRepositoryBase.ThrowOnWarning = true; } - public override void TearDown() + [TearDown] + public void Teardown() { ContentRepositoryBase.ThrowOnWarning = false; - base.TearDown(); } [Test] @@ -443,6 +443,10 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services } [Test] + [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest, + PublishedRepositoryEvents = true, + WithApplication = true, + Boot = true)] public void Automatically_Track_Relations() { var mt = MediaTypeBuilder.CreateSimpleMediaType("testMediaType", "Test Media Type"); diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ThreadSafetyServiceTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ThreadSafetyServiceTest.cs index c36968adeb..1d3b799679 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ThreadSafetyServiceTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ThreadSafetyServiceTest.cs @@ -44,8 +44,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Services CreateTestData(); } - protected override string TestDBConnectionString => base.TestDBConnectionString + "default lock timeout=60000;"; - private const int MaxThreadCount = 20; diff --git a/src/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj b/src/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj index 551d714807..c5b42f9848 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj +++ b/src/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj @@ -14,15 +14,7 @@ - - - - - Always - - - PreserveNewest - + @@ -35,12 +27,10 @@ - - all @@ -60,18 +50,6 @@ - - - Always - - - Always - - - Always - - - diff --git a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/Filters/ContentModelValidatorTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/Filters/ContentModelValidatorTests.cs index f8faeb9b6f..ee40faf6de 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/Filters/ContentModelValidatorTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/Filters/ContentModelValidatorTests.cs @@ -121,10 +121,10 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Filters // textService.Setup(x => x.Localize("validation/invalidNull", It.IsAny(), It.IsAny>())).Returns("invalidNull"); // textService.Setup(x => x.Localize("validation/invalidEmpty", It.IsAny(), It.IsAny>())).Returns("invalidEmpty"); // - // Composition.RegisterUnique(x => Mock.Of(x => x.GetDataType(It.IsAny()) == Mock.Of())); - // Composition.RegisterUnique(x => dataTypeService.Object); - // Composition.RegisterUnique(x => contentTypeService.Object); - // Composition.RegisterUnique(x => textService.Object); + // composition.Services.AddUnique(x => Mock.Of(x => x.GetDataType(It.IsAny()) == Mock.Of())); + // composition.Services.AddUnique(x => dataTypeService.Object); + // composition.Services.AddUnique(x => contentTypeService.Object); + // composition.Services.AddUnique(x => textService.Object); // // Composition.WithCollectionBuilder() // .Add() diff --git a/src/Umbraco.Tests.UnitTests/TestHelpers/Assets/UmbracoTraceLog.UNITTEST.20181112.json b/src/Umbraco.Tests.UnitTests/TestHelpers/Assets/UmbracoTraceLog.UNITTEST.20181112.json new file mode 100644 index 0000000000..0d788bd0eb --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/TestHelpers/Assets/UmbracoTraceLog.UNITTEST.20181112.json @@ -0,0 +1,102 @@ +{"@t":"2018-11-12T08:34:45.8371142Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Booting Umbraco 8.0.0-alpha.52 on DELLBOOK.","TimingId":"9e76e5f","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8770471Z","@mt":"Runtime: {Runtime}","@l":"Debug","Runtime":"Umbraco.Web.Runtime.WebRuntime","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8780049Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Acquiring MainDom.","TimingId":"fa0a8ff","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8820357Z","@mt":"Acquiring.","SourceContext":"Umbraco.Core.MainDom","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8870222Z","@mt":"Acquired.","SourceContext":"Umbraco.Core.MainDom","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8890160Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Aquired.","Duration":9,"TimingId":"fa0a8ff","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:45.8899734Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Determining runtime level.","TimingId":"de01157","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.0515757Z","@mt":"Configuring.","@l":"Debug","SourceContext":"Umbraco.Core.Persistence.UmbracoDatabaseFactory","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.2091530Z","@mt":"Configured.","@l":"Debug","SourceContext":"Umbraco.Core.Persistence.UmbracoDatabaseFactory","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"Final upgrade state is {FinalMigrationState}, database contains {DatabaseState}","@l":"Debug","FinalMigrationState":"{6B251841-3069-4AD5-8AE9-861F9523E8DA}","DatabaseState":"{6B251841-3069-4AD5-8AE9-861F9523E8DA}","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"Runtime level: {RuntimeLevel}","@l":"Debug","RuntimeLevel":"Run","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.7853838Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Determined.","Duration":895,"TimingId":"de01157","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.7863814Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Resolving component types.","TimingId":"d88f42d","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.8053704Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Determining hash of code files on disk","TimingId":"e9adbba","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.8232811Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Hash determined","Duration":17,"TimingId":"e9adbba","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.8352878Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"f2620d0","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.8372858Z","@mt":"Assemblies changes detected, need to rescan everything.","@l":"Debug","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:46.8372858Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1055270Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1055270Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":270,"TimingId":"f2620d0","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1065263Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Components.IUmbracoComponent","TimingId":"c2611be","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1065263Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.Components.IUmbracoComponent","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.Components.IUmbracoComponent","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Components.IUmbracoComponent","Duration":9,"TimingId":"c2611be","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1155013Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Resolved.","Duration":329,"TimingId":"d88f42d","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1164981Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Preparing component types.","TimingId":"e7ad952","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1444223Z","@mt":"Ordered Components: {SortedComponentTypes}","@l":"Debug","SortedComponentTypes":["Umbraco.Core.Runtime.CoreRuntimeComponent","Umbraco.Web.Runtime.WebRuntimeComponent","Umbraco.Web.Cache.CacheRefresherComponent","Umbraco.Core.Logging.WebProfilerComponent","Umbraco.Core.Components.AuditEventsComponent","Umbraco.Core.Components.ManifestWatcherComponent","Umbraco.Core.Components.RelateOnCopyComponent","Umbraco.Core.Components.RelateOnTrashComponent","Umbraco.Web.SignalR.PreviewHubComponent","Umbraco.Web.Search.ExamineComponent","Umbraco.Web.Scheduling.SchedulerComponent","Umbraco.ModelsBuilder.Umbraco.ModelsBuilderComponent","Umbraco.Web.PublishedCache.NuCache.NuCacheComponent","Umbraco.Web.PropertyEditors.PropertyEditorsComponent","Umbraco.Web.Components.BackOfficeUserAuditEventsComponent","Umbraco.Web.Components.NotificationsComponent","Umbraco.Web.Components.PublicAccessComponent","Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent","Umbraco.Core.Components.UmbracoCoreComponent"],"SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1444223Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Prepared component types.","Duration":27,"TimingId":"e7ad952","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1454207Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Instanciating components.","TimingId":"030399d","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1474142Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Instanciated components.","Duration":2,"TimingId":"030399d","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1484121Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Composing components. (log when >100ms)","TimingId":"ca1430e","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1763377Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"2bdc8f5","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"2bdc8f5","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.PropertyEditors.IPropertyValueConverter","TimingId":"13d4fd9","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1773370Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IPropertyValueConverter","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1883061Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IPropertyValueConverter","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.1883061Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.PropertyEditors.IPropertyValueConverter","Duration":10,"TimingId":"13d4fd9","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.2152496Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting System.Web.Mvc.IController","TimingId":"5c51949","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.2152496Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"System.Web.Mvc.IController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.2162328Z","@mt":"Got {TypeName}.","@l":"Debug","TypeName":"System.Web.Mvc.IController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.2162328Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got System.Web.Mvc.IController","Duration":1,"TimingId":"5c51949","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3169624Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting System.Web.Http.Controllers.IHttpController","TimingId":"5fe641e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3169624Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"System.Web.Http.Controllers.IHttpController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3179595Z","@mt":"Got {TypeName}.","@l":"Debug","TypeName":"System.Web.Http.Controllers.IHttpController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3179595Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got System.Web.Http.Controllers.IHttpController","Duration":1,"TimingId":"5fe641e","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"6ff2067","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"6ff2067","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3289305Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.Mvc.SurfaceController","TimingId":"ee39a8f","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3299280Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.Mvc.SurfaceController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3399005Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.Mvc.SurfaceController","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3408994Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.Mvc.SurfaceController","Duration":11,"TimingId":"ee39a8f","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"f53e587","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"f53e587","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.WebApi.UmbracoApiController","TimingId":"502b5b8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3418946Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.WebApi.UmbracoApiController","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3498746Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.WebApi.UmbracoApiController","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3498746Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.WebApi.UmbracoApiController","Duration":8,"TimingId":"502b5b8","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3598465Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Composed Umbraco.Web.Runtime.WebRuntimeComponent.","Duration":163,"TimingId":"f8ec818","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3638356Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Composed components.","Duration":215,"TimingId":"ca1430e","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.3797931Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Initializing components. (log when >100ms)","TimingId":"3ac2c10","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4137037Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"78edf39","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4137037Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"78edf39","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.PropertyEditors.IDataEditor","TimingId":"4f94a60","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4147001Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IDataEditor","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4227008Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Core.PropertyEditors.IDataEditor","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.4227008Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.PropertyEditors.IDataEditor","Duration":8,"TimingId":"4f94a60","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Core.Composing.IDiscoverable","TimingId":"df11c59","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"df11c59","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.Actions.IAction","TimingId":"48d0b43","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6530958Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.Actions.IAction","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6600450Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.Actions.IAction","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:47.6600450Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Web.Actions.IAction","Duration":7,"TimingId":"48d0b43","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:48.7700754Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Initialised Umbraco.Core.Runtime.CoreRuntimeComponent.","Duration":1388,"TimingId":"48c0e52","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:49.0369724Z","@mt":"Loading content from local db...","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:49.0539274Z","@mt":"Loaded content from local db ({Duration}ms)","@l":"Debug","Duration":16,"SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.0193175Z","@mt":"Loading media from local db...","@l":"Debug","SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.0193175Z","@mt":"Loaded media from local db ({Duration}ms)","@l":"Debug","Duration":0,"SourceContext":"Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.2028672Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Initialised Umbraco.Web.Runtime.WebRuntimeComponent.","Duration":1432,"TimingId":"cfd6b8c","SourceContext":"Umbraco.Core.Components.BootLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.2048308Z","@mt":"Initializing Umbraco internal event handlers for cache refreshing.","SourceContext":"Umbraco.Web.Cache.CacheRefresherComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.2277994Z","@mt":"Examine shutdown registered with MainDom","@l":"Debug","SourceContext":"Umbraco.Web.Search.ExamineComponent","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"Getting {TypeName}: found a cached type list.","@l":"Debug","TypeName":"Umbraco.Core.Composing.IDiscoverable","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Got Umbraco.Core.Composing.IDiscoverable","Duration":0,"TimingId":"7581323","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.3250434Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Getting Umbraco.Web.HealthCheck.HealthCheck","TimingId":"3697358","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.3260718Z","@mt":"Getting {TypeName}: scanning assemblies.","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.HealthCheck","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:34:50.3360158Z","@mt":"Got {TypeName}, caching ({CacheType}).","@l":"Debug","TypeName":"Umbraco.Web.HealthCheck.HealthCheck","CacheType":"true","SourceContext":"Umbraco.Core.Composing.TypeLoader","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG","HttpRequestNumber":1,"HttpRequestId":"557f45ba-0888-4216-8723-e226d795a2f7"} +{"@t":"2018-11-12T08:38:04.9607485Z","@mt":"Could not validate XSRF token","@l":"Error","@x":"System.Web.Mvc.HttpAntiForgeryException (0x80004005): The anti-forgery token could not be decrypted. If this application is hosted by a Web Farm or cluster, ensure that all machines are running the same version of ASP.NET Web Pages and that the configuration specifies explicit encryption and validation keys. AutoGenerate cannot be used in a cluster.\r\n at System.Web.Helpers.AntiXsrf.AntiForgeryTokenSerializer.Deserialize(String serializedToken)\r\n at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext, String cookieToken, String formToken)\r\n at System.Web.Helpers.AntiForgery.Validate(String cookieToken, String formToken)\r\n at Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper.ValidateTokens(String cookieToken, String headerToken) in C:\\Code\\Umbraco-CMS\\src\\Umbraco.Web\\WebApi\\Filters\\AngularAntiForgeryHelper.cs:line 58","SourceContext":"Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":7,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ERROR","HttpRequestNumber":63,"HttpRequestId":"9b93e05a-aad8-461d-81f1-42d3fe481078"} +{"@t":"2018-11-12T08:38:05.6858005Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:38:05.6887919Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:38:05.6897893Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:38:05.6907902Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:38:05.6917843Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:38:05.6917843Z","@mt":"The tree definition: {AddElement} could not be resolved to a .Net object type","@l":"Warning","AddElement":"","SourceContext":"Umbraco.Web.Services.ApplicationTreeService","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":26,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"WARN ","HttpRequestNumber":73,"HttpRequestId":"b5c6de2e-81c0-41bd-9e0e-e0185691a5eb"} +{"@t":"2018-11-12T08:39:18.1562229Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"f9683dae-21bd-479a-8fca-504b288c3875","RequestUrl":"http://localhost:8000/umbraco","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":37,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":77} +{"@t":"2018-11-12T08:39:18.1562229Z","@mt":"Begin request [{HttpRequestId}]: {RequestUrl}","@l":"Verbose","HttpRequestId":"511a0884-22a5-4369-beb9-80e75b1cb4dd","RequestUrl":"http://localhost:8000/umbraco/backoffice/UmbracoApi/Authentication/GetRemainingTimeoutSeconds","SourceContext":"Umbraco.Web.UmbracoModule","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":33,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"ALL ","HttpRequestNumber":78} +{"@t":"2018-11-12T08:39:18.1632038Z","@mt":"{StartMessage} [Timing {TimingId}]","@l":"Debug","StartMessage":"Syncing from database...","TimingId":"7211c02","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} +{"@t":"2018-11-12T08:39:18.1961166Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Debug","EndMessage":"Completed.","Duration":33,"TimingId":"7211c02","SourceContext":"Umbraco.Core.Sync.DatabaseServerMessenger","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} +{"@t":"2018-11-12T08:39:18.1971147Z","@mt":"{LogPrefix} Task added {TaskType}","@l":"Debug","LogPrefix":"[ServerInstProcess] ","TaskType":"Umbraco.Web.Components.DatabaseServerRegistrarAndMessengerComponent+InstructionProcessTask","SourceContext":"Umbraco.Web.Scheduling.BackgroundTaskRunner","ProcessId":27004,"ProcessName":"iisexpress","ThreadId":36,"AppDomainId":2,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"DELLBOOK","Log4NetLevel":"DEBUG"} diff --git a/src/Umbraco.Tests.Integration/Logging/logviewer.searches.config.js b/src/Umbraco.Tests.UnitTests/TestHelpers/Assets/logviewer.searches.config.js similarity index 100% rename from src/Umbraco.Tests.Integration/Logging/logviewer.searches.config.js rename to src/Umbraco.Tests.UnitTests/TestHelpers/Assets/logviewer.searches.config.js diff --git a/src/Umbraco.Tests.UnitTests/TestHelpers/BaseUsingSqlSyntax.cs b/src/Umbraco.Tests.UnitTests/TestHelpers/BaseUsingSqlSyntax.cs index 749354ffde..bf3f14004a 100644 --- a/src/Umbraco.Tests.UnitTests/TestHelpers/BaseUsingSqlSyntax.cs +++ b/src/Umbraco.Tests.UnitTests/TestHelpers/BaseUsingSqlSyntax.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Moq; using NPoco; using NUnit.Framework; @@ -9,6 +10,7 @@ using Umbraco.Core.Logging; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.SqlSyntax; +using Umbraco.Tests.UnitTests.TestHelpers; namespace Umbraco.Tests.TestHelpers { @@ -27,7 +29,7 @@ namespace Umbraco.Tests.TestHelpers [SetUp] public virtual void Setup() { - var container = TestHelper.GetRegister(); + var container = TestHelper.GetServiceCollection(); var typeLoader = TestHelper.GetMockedTypeLoader(); var composition = new Composition(container, typeLoader, Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); @@ -35,14 +37,14 @@ namespace Umbraco.Tests.TestHelpers composition.WithCollectionBuilder() .AddCoreMappers(); - composition.RegisterUnique(_ => SqlContext); + composition.Services.AddUnique(_ => SqlContext); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); var pocoMappers = new NPoco.MapperCollection { new PocoMapper() }; var pocoDataFactory = new FluentPocoDataFactory((type, iPocoDataFactory) => new PocoDataBuilder(type, pocoMappers).Init()); var sqlSyntax = new SqlServerSyntaxProvider(); - SqlContext = new SqlContext(sqlSyntax, DatabaseType.SqlServer2012, pocoDataFactory, new Lazy(() => factory.GetInstance())); - Mappers = factory.GetInstance(); + SqlContext = new SqlContext(sqlSyntax, DatabaseType.SqlServer2012, pocoDataFactory, new Lazy(() => factory.GetRequiredService())); + Mappers = factory.GetRequiredService(); } } } diff --git a/src/Umbraco.Tests.UnitTests/TestHelpers/CompositionExtensions.cs b/src/Umbraco.Tests.UnitTests/TestHelpers/CompositionExtensions.cs new file mode 100644 index 0000000000..6a4f228070 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/TestHelpers/CompositionExtensions.cs @@ -0,0 +1,16 @@ +using System; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core.Composing; + +namespace Umbraco.Tests.UnitTests.TestHelpers +{ + public static class CompositionExtensions + { + [Obsolete("This extension method exists only to ease migration, please refactor")] + public static IServiceProvider CreateServiceProvider(this Composition composition) + { + composition.RegisterBuilders(); + return composition.Services.BuildServiceProvider(); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs index 81accbf2ba..e7d6eec391 100644 --- a/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs @@ -8,6 +8,7 @@ using System.Linq; using System.Reflection; using System.Threading; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -65,9 +66,13 @@ namespace Umbraco.Tests.TestHelpers public override IHostingEnvironment GetHostingEnvironment() { + var testPath = TestContext.CurrentContext.TestDirectory.Split("bin")[0]; return new AspNetCoreHostingEnvironment( Mock.Of>(x=>x.CurrentValue == new HostingSettings()), - Mock.Of(x=>x.WebRootPath == "/")); + Mock.Of( + x=> + x.WebRootPath == "/" && + x.ContentRootPath == testPath)); } public override IApplicationShutdownRegistry GetHostingEnvironmentLifetime() @@ -274,7 +279,7 @@ namespace Umbraco.Tests.TestHelpers public static IUmbracoVersion GetUmbracoVersion() => _testHelperInternal.GetUmbracoVersion(); - public static IRegister GetRegister() => _testHelperInternal.GetRegister(); + public static IServiceCollection GetServiceCollection() => new ServiceCollection().AddLazySupport(); public static IHostingEnvironment GetHostingEnvironment() => _testHelperInternal.GetHostingEnvironment(); diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs index 7b9c043be9..b96065b928 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -29,11 +30,11 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Components private static readonly List Initialized = new List(); private static readonly List Terminated = new List(); - private static IFactory MockFactory(Action> setup = null) + private static IServiceProvider MockFactory(Action> setup = null) { // FIXME: use IUmbracoDatabaseFactory vs UmbracoDatabaseFactory, clean it all up! - var mock = new Mock(); + var mock = new Mock(); var loggerFactory = NullLoggerFactory.Instance; var logger = loggerFactory.CreateLogger("GenericLogger"); var typeFinder = TestHelper.GetTypeFinder(); @@ -45,19 +46,20 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Components var mediaFileSystem = Mock.Of(); var p = new ScopeProvider(f, fs, Options.Create(coreDebug), mediaFileSystem, loggerFactory.CreateLogger(), loggerFactory, typeFinder, NoAppCache.Instance); - mock.Setup(x => x.GetInstance(typeof (ILogger))).Returns(logger); - mock.Setup(x => x.GetInstance(typeof(ILoggerFactory))).Returns(loggerFactory); - mock.Setup(x => x.GetInstance(typeof (IProfilingLogger))).Returns(new ProfilingLogger(logger, Mock.Of())); - mock.Setup(x => x.GetInstance(typeof (IUmbracoDatabaseFactory))).Returns(f); - mock.Setup(x => x.GetInstance(typeof (IScopeProvider))).Returns(p); + mock.Setup(x => x.GetService(typeof (ILogger))).Returns(logger); + mock.Setup(x => x.GetService(typeof(ILogger))).Returns(loggerFactory.CreateLogger); + mock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(loggerFactory); + mock.Setup(x => x.GetService(typeof (IProfilingLogger))).Returns(new ProfilingLogger(logger, Mock.Of())); + mock.Setup(x => x.GetService(typeof (IUmbracoDatabaseFactory))).Returns(f); + mock.Setup(x => x.GetService(typeof (IScopeProvider))).Returns(p); setup?.Invoke(mock); return mock.Object; } - private static IRegister MockRegister() + private static IServiceCollection MockRegister() { - return Mock.Of(); + return Mock.Of(); } private static TypeLoader MockTypeLoader() @@ -86,8 +88,8 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Components var factory = MockFactory(m => { - m.Setup(x => x.TryGetInstance(It.Is(t => t == typeof(ISomeResource)))).Returns(() => new SomeResource()); - m.Setup(x => x.GetInstance(It.IsAny())).Returns((type) => + m.Setup(x => x.GetService(It.Is(t => t == typeof(ISomeResource)))).Returns(() => new SomeResource()); + m.Setup(x => x.GetService(It.IsAny())).Returns((type) => { if (type == typeof(Composer1)) return new Composer1(); if (type == typeof(Composer5)) return new Composer5(); @@ -208,8 +210,8 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Components var typeLoader = MockTypeLoader(); var factory = MockFactory(m => { - m.Setup(x => x.TryGetInstance(It.Is(t => t == typeof (ISomeResource)))).Returns(() => new SomeResource()); - m.Setup(x => x.GetInstance(It.IsAny())).Returns((type) => + m.Setup(x => x.GetService(It.Is(t => t == typeof (ISomeResource)))).Returns(() => new SomeResource()); + m.Setup(x => x.GetService(It.IsAny())).Returns((type) => { if (type == typeof(Composer1)) return new Composer1(); if (type == typeof(Composer5)) return new Composer5(); diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs index e046c15cb4..cb8a88c3ec 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -8,6 +9,7 @@ using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.UnitTests.TestHelpers; namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { @@ -19,16 +21,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing [SetUp] public void Setup() { - // var registerMock = new Mock(); - // var factoryMock = new Mock(); - // registerMock.Setup(x => x.CreateFactory()).Returns(factoryMock.Object); - // factoryMock.Setup(x => x.GetInstance(typeof(Resolved1))).Returns(new Resolved1()); - // factoryMock.Setup(x => x.GetInstance(typeof(Resolved2))).Returns(new Resolved2()); - // factoryMock.Setup(x => x.GetInstance(typeof(Resolved3))).Returns(new Resolved3()); - // factoryMock.Setup(x => x.GetInstance(typeof(Resolved4))).Returns(new Resolved4()); - - - var register = TestHelper.GetRegister(); + var register = TestHelper.GetServiceCollection(); _composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); } @@ -49,7 +42,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsFalse(builder.Has()); //Assert.IsFalse(col.ContainsType()); // does not compile - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved2)); } @@ -65,7 +58,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsFalse(builder.Has()); Assert.IsFalse(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col); } @@ -77,7 +70,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Append(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); Assert.Throws(() => builder.Clear()); @@ -94,7 +87,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(builder.Has()); Assert.IsFalse(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved2)); } @@ -104,7 +97,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { var builder = _composition.WithCollectionBuilder(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); Assert.Throws(() => @@ -119,7 +112,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing builder.Append(); builder.Append(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1)); @@ -148,7 +141,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsFalse(builder.Has()); Assert.IsFalse(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1)); } @@ -161,7 +154,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Remove(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved2)); } @@ -173,7 +166,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Append(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); Assert.Throws(() => builder.Remove() // throws @@ -192,7 +185,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(builder.Has()); Assert.IsTrue(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved3), typeof(Resolved1), typeof(Resolved2)); } @@ -204,7 +197,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Append(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); Assert.Throws(() => builder.Insert() // throws @@ -219,7 +212,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Insert(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved2), typeof(Resolved1)); } @@ -230,7 +223,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing var builder = _composition.WithCollectionBuilder(); builder.Insert(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved2)); } @@ -263,7 +256,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(builder.Has()); Assert.IsTrue(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved3), typeof(Resolved2)); } @@ -280,7 +273,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(builder.Has()); Assert.IsTrue(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved3), typeof(Resolved2)); } @@ -297,7 +290,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(builder.Has()); Assert.IsTrue(builder.Has()); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved1), typeof(Resolved2), typeof(Resolved3)); } @@ -309,7 +302,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .Append(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); Assert.Throws(() => builder.InsertBefore() @@ -324,7 +317,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Append() .InsertBefore(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved2), typeof(Resolved1)); } @@ -351,17 +344,17 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing // but the container manages the scope, so to test the scope // the collection must come from the container - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); - using (factory.BeginScope()) + using (var scope = factory.CreateScope()) { - var col1 = factory.GetInstance(); + var col1 = scope.ServiceProvider.GetRequiredService(); AssertCollection(col1, typeof(Resolved1), typeof(Resolved2)); - var col2 = factory.GetInstance(); + var col2 = scope.ServiceProvider.GetRequiredService(); AssertCollection(col2, typeof(Resolved1), typeof(Resolved2)); - AssertSameCollection(factory, col1, col2); + AssertSameCollection(scope.ServiceProvider, col1, col2); } } @@ -377,12 +370,12 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing // but the container manages the scope, so to test the scope // the collection must come from the container - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); - var col1 = factory.GetInstance(); + var col1 = factory.GetRequiredService(); AssertCollection(col1, typeof(Resolved1), typeof(Resolved2)); - var col2 = factory.GetInstance(); + var col2 = factory.GetRequiredService(); AssertCollection(col1, typeof(Resolved1), typeof(Resolved2)); AssertNotSameCollection(col1, col2); @@ -396,7 +389,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Insert() .InsertBefore(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col1 = builder.CreateCollection(factory); AssertCollection(col1, typeof(Resolved1), typeof(Resolved2), typeof(Resolved3)); } @@ -414,23 +407,23 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing TestCollection col1A, col1B; - var factory = _composition.CreateFactory(); + var serviceProvider = _composition.CreateServiceProvider(); - using (factory.BeginScope()) + using (var scope = serviceProvider.CreateScope()) { - col1A = factory.GetInstance(); - col1B = factory.GetInstance(); + col1A = scope.ServiceProvider.GetRequiredService(); + col1B = scope.ServiceProvider.GetRequiredService(); AssertCollection(col1A, typeof(Resolved1), typeof(Resolved2)); AssertCollection(col1B, typeof(Resolved1), typeof(Resolved2)); - AssertSameCollection(factory, col1A, col1B); + AssertSameCollection(serviceProvider, col1A, col1B); } TestCollection col2; - using (factory.BeginScope()) + using (var scope = serviceProvider.CreateScope()) { - col2 = factory.GetInstance(); + col2 = scope.ServiceProvider.GetRequiredService(); } AssertCollection(col2, typeof(Resolved1), typeof(Resolved2)); @@ -444,7 +437,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Add() .Add(); - var factory = _composition.CreateFactory(); + var factory = _composition.CreateServiceProvider(); var col = builder.CreateCollection(factory); AssertCollection(col, typeof(Resolved2), typeof(Resolved1)); } @@ -459,7 +452,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsInstanceOf(expected[i], colA[i]); } - private static void AssertSameCollection(IFactory factory, IEnumerable col1, IEnumerable col2) + private static void AssertSameCollection(IServiceProvider factory, IEnumerable col1, IEnumerable col2) { Assert.AreSame(col1, col2); @@ -475,8 +468,8 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { Assert.AreSame(col1A[i], col2A[i]); - var itemA = factory.GetInstance(col1A[i].GetType()); - var itemB = factory.GetInstance(col2A[i].GetType()); + var itemA = factory.GetRequiredService(col1A[i].GetType()); + var itemB = factory.GetRequiredService(col2A[i].GetType()); Assert.AreSame(itemA, itemB); } @@ -528,7 +521,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { protected override TestCollectionBuilderTransient This => this; - protected override Lifetime CollectionLifetime => Lifetime.Transient; // transient + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Transient; // transient } // ReSharper disable once ClassNeverInstantiated.Local @@ -536,7 +529,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { protected override TestCollectionBuilderScope This => this; - protected override Lifetime CollectionLifetime => Lifetime.Scope; + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Scoped; } // ReSharper disable once ClassNeverInstantiated.Local diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ContainerConformingTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ContainerConformingTests.cs deleted file mode 100644 index a091a22199..0000000000 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ContainerConformingTests.cs +++ /dev/null @@ -1,387 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using Umbraco.Core; -using Umbraco.Core.Composing; -using Umbraco.Tests.TestHelpers; - -namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing -{ - [TestFixture] - public class ContainerConformingTests - { - // tests that a container conforms - - private IRegister GetRegister() => TestHelper.GetRegister(); - - [Test] - public void CanRegisterAndGet() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var thing = factory.GetInstance(); - Assert.IsNotNull(thing); - Assert.IsInstanceOf(thing); - } - - [Test] - public void CanRegisterAndGetLazy() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var lazyThing = factory.GetInstance>(); - Assert.IsNotNull(lazyThing); - Assert.IsInstanceOf>(lazyThing); - var thing = lazyThing.Value; - Assert.IsNotNull(thing); - Assert.IsInstanceOf(thing); - } - - [Test] - public void CannotRegistedAndGetBase() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - Assert.IsNull(factory.TryGetInstance()); - } - - [Test] - public void CannotRegisterAndGetInterface() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - Assert.IsNull(factory.TryGetInstance()); - } - - [Test] - public void CanRegisterAndGetAllBase() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var things = factory.GetAllInstances(); - Assert.AreEqual(1, things.Count()); - - // lightInject: would be zero with option EnableVariance set to false - } - - [Test] - public void CanRegisterAndGetAllInterface() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var things = factory.GetAllInstances(); - Assert.AreEqual(1, things.Count()); - - // lightInject: would be zero with option EnableVariance set to false - } - - [Test] - public void CanRegisterBaseAndGet() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var thing = factory.GetInstance(); - Assert.IsNotNull(thing); - Assert.IsInstanceOf(thing); - } - - [Test] - public void CanRegisterInterfaceAndGet() - { - var register = GetRegister(); - - register.Register(); - - var factory = register.CreateFactory(); - - var thing = factory.GetInstance(); - Assert.IsNotNull(thing); - Assert.IsInstanceOf(thing); - } - - [Test] - public void NonSingletonServiceIsNotUnique() - { - var register = GetRegister(); - - register.Register(); - register.Register(); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - Assert.AreEqual(2, things.Count()); - - Assert.IsNull(factory.TryGetInstance()); - } - - [Test] - public void SingletonServiceIsUnique() // FIXME: but what is LightInject actually doing - { - var register = GetRegister(); - - // FIXME: LightInject is 'unique' per serviceType+serviceName - // but that's not how all containers work - // and we should not rely on it - // if we need unique, use RegisterUnique - - // for Core services that ppl may want to redefine in components, - // it is important to be able to have a unique, singleton implementation, - // and to redefine it - how it's done at container's level depends - // on each container - - // redefine the service - register.Register(Lifetime.Singleton); - register.Register(Lifetime.Singleton); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - Assert.AreEqual(1, things.Count()); - - var thing = factory.GetInstance(); - Assert.IsInstanceOf(thing); - } - - [Test] - public void SingletonImplementationIsNotUnique() - { - var register = GetRegister(); - - // define two implementations - register.Register(Lifetime.Singleton); - register.Register(Lifetime.Singleton); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - Assert.AreEqual(2, things.Count()); - - Assert.IsNull(factory.TryGetInstance()); - } - - [Test] - public void ActualInstanceIsNotUnique() - { - var register = GetRegister(); - - // define two instances - register.Register(typeof(Thing1), new Thing1()); - register.Register(typeof(Thing1), new Thing2()); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - //Assert.AreEqual(2, things.Count()); - Assert.AreEqual(1, things.Count()); // well, yes they are unique? - - Assert.IsNull(factory.TryGetInstance()); - } - - [Test] - public void InterfaceInstanceIsNotUnique() - { - var register = GetRegister(); - - // define two instances - register.Register(typeof(IThing), new Thing1()); - register.Register(typeof(IThing), new Thing2()); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - //Assert.AreEqual(2, things.Count()); - Assert.AreEqual(1, things.Count()); // well, yes they are unique? - - //Assert.IsNull(factory.TryGetInstance()); - Assert.IsNotNull(factory.TryGetInstance()); // well, what? - } - - [Test] - public void CanInjectEnumerableOfBase() - { - var register = GetRegister(); - - register.Register(); - register.Register(); - register.Register(); - - var factory = register.CreateFactory(); - - var needThings = factory.GetInstance(); - Assert.AreEqual(2, needThings.Things.Count()); - } - - [Test] - public void CanGetEnumerableOfBase() - { - var register = GetRegister(); - - register.Register(); - register.Register(); - - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - Assert.AreEqual(2, things. Count()); - } - - [Test] - public void CanGetEmptyEnumerableOfBase() - { - var register = GetRegister(); - var factory = register.CreateFactory(); - - var things = factory.GetInstance>(); - Assert.AreEqual(0, things.Count()); - } - - [Test] - public void CanGetEmptyAllInstancesOfBase() - { - var register = GetRegister(); - var factory = register.CreateFactory(); - - var things = factory.GetAllInstances(); - Assert.AreEqual(0, things.Count()); - } - - [Test] - public void CanTryGetEnumerableOfBase() - { - var register = GetRegister(); - - register.Register(); - register.Register(); - - var factory = register.CreateFactory(); - - var things = factory.TryGetInstance>(); - Assert.AreEqual(2, things.Count()); - } - - [Test] - public void CanRegisterSingletonInterface() - { - var register = GetRegister(); - register.Register(Lifetime.Singleton); - var factory = register.CreateFactory(); - var s1 = factory.GetInstance(); - var s2 = factory.GetInstance(); - Assert.AreSame(s1, s2); - } - - [Test] - public void CanRegisterSingletonClass() - { - var register = GetRegister(); - register.Register(Lifetime.Singleton); - var factory = register.CreateFactory(); - var s1 = factory.GetInstance(); - var s2 = factory.GetInstance(); - Assert.AreSame(s1, s2); - } - - [Test] - public void CanReRegisterSingletonInterface() - { - var register = GetRegister(); - register.Register(Lifetime.Singleton); - register.Register(Lifetime.Singleton); - var factory = register.CreateFactory(); - var s = factory.GetInstance(); - Assert.IsInstanceOf(s); - } - - [Test] - public void CanRegisterSingletonWithCreate() - { - var register = GetRegister(); - register.Register(c => c.CreateInstance(new Thing1()), Lifetime.Singleton); - var factory = register.CreateFactory(); - var s1 = factory.GetInstance(); - var s2 = factory.GetInstance(); - Assert.AreSame(s1, s2); - } - - [Test] - public void CanRegisterMultipleSameTypeParametersWithCreateInstance() - { - var register = GetRegister(); - - register.Register(c => - { - const string param1 = "param1"; - const string param2 = "param2"; - - return c.CreateInstance(param1, param2); - }); - - var factory = register.CreateFactory(); - var instance = factory.GetInstance(); - Assert.AreNotEqual(instance.Thing, instance.AnotherThing); - } - - public interface IThing { } - - public abstract class ThingBase : IThing { } - public class Thing1 : ThingBase { } - public class Thing2 : ThingBase { } - - public class Thing3 : ThingBase - { - public Thing3(Thing1 thing) { } - } - - public class NeedThings - { - public NeedThings(IEnumerable things) - { - Things = things; - } - - public IEnumerable Things { get; } - } - - public class Thing4 : ThingBase - { - public readonly string Thing; - public readonly string AnotherThing; - - public Thing4(string thing, string anotherThing) - { - Thing = thing; - AnotherThing = anotherThing; - } - } - } -} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs index e1a3f75ba2..e0a8c28518 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -8,15 +9,16 @@ using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.UnitTests.TestHelpers; namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { [TestFixture] public class LazyCollectionBuilderTests { - private IRegister CreateRegister() + private IServiceCollection CreateRegister() { - return TestHelper.GetRegister(); + return TestHelper.GetServiceCollection(); } // note @@ -35,15 +37,15 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Add() .Add(); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); - var values = factory.GetInstance(); + var values = factory.GetRequiredService(); Assert.AreEqual(3, values.Count()); Assert.IsTrue(values.Select(x => x.GetType()) .ContainsAll(new[] { typeof(TransientObject1), typeof(TransientObject2), typeof(TransientObject3) })); - var other = factory.GetInstance(); + var other = factory.GetRequiredService(); Assert.AreNotSame(values, other); // transient var o1 = other.FirstOrDefault(x => x is TransientObject1); Assert.IsFalse(values.Contains(o1)); // transient @@ -60,15 +62,15 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Add(() => new[] { typeof(TransientObject3), typeof(TransientObject2) }) .Add(() => new[] { typeof(TransientObject1) }); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); - var values = factory.GetInstance(); + var values = factory.GetRequiredService(); Assert.AreEqual(3, values.Count()); Assert.IsTrue(values.Select(x => x.GetType()) .ContainsAll(new[] { typeof(TransientObject1), typeof(TransientObject2), typeof(TransientObject3) })); - var other = factory.GetInstance(); + var other = factory.GetRequiredService(); Assert.AreNotSame(values, other); // transient var o1 = other.FirstOrDefault(x => x is TransientObject1); Assert.IsFalse(values.Contains(o1)); // transient @@ -86,15 +88,15 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Add() .Add(() => new[] { typeof(TransientObject1) }); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); - var values = factory.GetInstance(); + var values = factory.GetRequiredService(); Assert.AreEqual(3, values.Count()); Assert.IsTrue(values.Select(x => x.GetType()) .ContainsAll(new[] { typeof(TransientObject1), typeof(TransientObject2), typeof(TransientObject3) })); - var other = factory.GetInstance(); + var other = factory.GetRequiredService(); Assert.AreNotSame(values, other); // transient var o1 = other.FirstOrDefault(x => x is TransientObject1); Assert.IsFalse(values.Contains(o1)); // transient @@ -118,7 +120,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.Throws(() => { // but throws here when trying to register the types, right before creating the factory - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); }); } @@ -133,9 +135,9 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing .Add(() => new[] { typeof(TransientObject3), typeof(TransientObject2), typeof(TransientObject1) }) .Exclude(); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); - var values = factory.GetInstance(); + var values = factory.GetRequiredService(); Assert.AreEqual(2, values.Count()); Assert.IsFalse(values.Select(x => x.GetType()) @@ -143,7 +145,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing Assert.IsTrue(values.Select(x => x.GetType()) .ContainsAll(new[] { typeof(TransientObject1), typeof(TransientObject2) })); - var other = factory.GetInstance(); + var other = factory.GetRequiredService(); Assert.AreNotSame(values, other); // transient var o1 = other.FirstOrDefault(x => x is TransientObject1); Assert.IsFalse(values.Contains(o1)); // transient @@ -171,7 +173,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { protected override TestCollectionBuilder This => this; - protected override Lifetime CollectionLifetime => Lifetime.Transient; // transient + protected override ServiceLifetime CollectionLifetime => ServiceLifetime.Transient; // transient } // ReSharper disable once ClassNeverInstantiated.Local diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs index a144f9340a..b13da91a96 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Xml; using System.Xml.Linq; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -10,6 +11,7 @@ using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Core.PackageActions; using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.UnitTests.TestHelpers; namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing { @@ -19,7 +21,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing [Test] public void PackageActionCollectionBuilderWorks() { - var container = TestHelper.GetRegister(); + var container = TestHelper.GetServiceCollection(); var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); @@ -27,9 +29,9 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.Composing composition.WithCollectionBuilder() .Add(() => expectedPackageActions); - var factory = composition.CreateFactory(); + var factory = composition.CreateServiceProvider(); - var actions = factory.GetInstance(); + var actions = factory.GetRequiredService(); Assert.AreEqual(2, actions.Count()); // order is unspecified, but both must be there diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Extensions/HealthCheckSettingsExtensionsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Extensions/HealthCheckSettingsExtensionsTests.cs new file mode 100644 index 0000000000..833e5c865b --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Extensions/HealthCheckSettingsExtensionsTests.cs @@ -0,0 +1,48 @@ +using System; +using NUnit.Framework; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; +using Umbraco.Infrastructure.Configuration.Extensions; + +namespace Umbraco.Tests.UnitTests.Umbraco.Core.Configuration.Models.Extensions +{ + [TestFixture] + public class HealthCheckSettingsExtensionsTests + { + private ICronTabParser CronTabParser => new NCronTabParser(); + + [TestCase("30 12 * * *", 30)] + [TestCase("15 18 * * *", 60 * 6 + 15)] + [TestCase("0 3 * * *", 60 * 15)] + [TestCase("0 3 2 * *", 24 * 60 * 1 + 60 * 15)] + [TestCase("0 6 * * 3", 24 * 60 * 3 + 60 * 18)] + public void Returns_Notification_Delay_From_Provided_Time(string firstRunTimeCronExpression, int expectedDelayInMinutes) + { + var settings = new HealthChecksSettings + { + Notification = new HealthChecksNotificationSettings + { + FirstRunTime = firstRunTimeCronExpression, + } + }; + var now = new DateTime(2020, 10, 31, 12, 0, 0); + var result = settings.GetNotificationDelay(CronTabParser, now, TimeSpan.Zero); + Assert.AreEqual(expectedDelayInMinutes, result.TotalMinutes); + } + + [Test] + public void Returns_Notification_Delay_From_Default_When_Provided_Time_Too_Close_To_Current_Time() + { + var settings = new HealthChecksSettings + { + Notification = new HealthChecksNotificationSettings + { + FirstRunTime = "30 12 * * *", + } + }; + var now = new DateTime(2020, 10, 31, 12, 25, 0); + var result = settings.GetNotificationDelay(CronTabParser, now, TimeSpan.FromMinutes(10)); + Assert.AreEqual(10, result.TotalMinutes); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidatorTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidatorTests.cs index c90e4e4c7d..31f6f5e31c 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidatorTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/ContentSettingsValidatorTests.cs @@ -1,7 +1,6 @@ using NUnit.Framework; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Configuration.Models.Validation; -using Umbraco.Tests.Common.Builders; namespace Umbraco.Tests.UnitTests.Umbraco.Core.Configuration.Models.Validation { diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidatorTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidatorTests.cs new file mode 100644 index 0000000000..64a8be79a8 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configuration/Models/Validation/HealthChecksSettingsValidatorTests.cs @@ -0,0 +1,43 @@ +using System; +using NUnit.Framework; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Configuration.Models.Validation; + +namespace Umbraco.Tests.UnitTests.Umbraco.Core.Configuration.Models.Validation +{ + [TestFixture] + public class HealthChecksSettingsValidationTests + { + [Test] + public void Returns_Success_ForValid_Configuration() + { + var validator = new HealthChecksSettingsValidator(new NCronTabParser()); + var options = BuildHealthChecksSettings(); + var result = validator.Validate("settings", options); + Assert.True(result.Succeeded); + } + + [Test] + public void Returns_Fail_For_Configuration_With_Invalid_Notification_FirstRunTime() + { + var validator = new HealthChecksSettingsValidator(new NCronTabParser()); + var options = BuildHealthChecksSettings(firstRunTime: "0 3 *"); + var result = validator.Validate("settings", options); + Assert.False(result.Succeeded); + } + + private static HealthChecksSettings BuildHealthChecksSettings(string firstRunTime = "0 3 * * *") + { + return new HealthChecksSettings + { + Notification = new HealthChecksNotificationSettings + { + Enabled = true, + FirstRunTime = firstRunTime, + Period = TimeSpan.FromHours(1), + } + }; + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configurations/NCronTabParserTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configurations/NCronTabParserTests.cs new file mode 100644 index 0000000000..4a38de831d --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Configurations/NCronTabParserTests.cs @@ -0,0 +1,32 @@ +using NUnit.Framework; +using Umbraco.Core.Configuration; + +namespace Umbraco.Tests.UnitTests.Umbraco.Core.Configurations +{ + [TestFixture] + public class NCronTabParserTests + { + private ICronTabParser Sut => new NCronTabParser(); + + [TestCase("", ExpectedResult = false)] + [TestCase("* * * * 1", ExpectedResult = true)] + [TestCase("* * * * * 1", ExpectedResult = false)] + [TestCase("* * * 1", ExpectedResult = false)] + [TestCase("Invalid", ExpectedResult = false)] + [TestCase("I n v a l", ExpectedResult = false)] + [TestCase("23 0-20/2 * * *", ExpectedResult = true)] + [TestCase("5 4 * * sun", ExpectedResult = true)] + [TestCase("0 0,12 1 */2 *", ExpectedResult = true)] + [TestCase("0 0 1,15 * 3", ExpectedResult = true)] + [TestCase("5 0 * 8 *", ExpectedResult = true)] + [TestCase("22 * * 1-5 *", ExpectedResult = true)] + [TestCase("23 0-20/2 * * *", ExpectedResult = true)] + [TestCase("23 0-20/2 * * sun-sat", ExpectedResult = true)] + [TestCase("23 0-20/2 * jan-dec sun-sat", ExpectedResult = true)] + [TestCase("* * 32 * *", ExpectedResult = false)] + public bool IsValidCronTab(string input) + { + return Sut.IsValidCronTab(input); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/DateTimeExtensionsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/DateTimeExtensionsTests.cs deleted file mode 100644 index b1585aa17f..0000000000 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/DateTimeExtensionsTests.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using NUnit.Framework; -using Umbraco.Core; - -namespace Umbraco.Tests.UnitTests.Umbraco.Core -{ - [TestFixture] - public class DateTimeExtensionsTests - { - [Test] - public void PeriodicMinutesFrom_PostTime_CalculatesMinutesBetween() - { - var nowDateTime = new DateTime(2017, 1, 1, 10, 30, 0); - var scheduledTime = "1145"; - var minutesBetween = nowDateTime.PeriodicMinutesFrom(scheduledTime); - Assert.AreEqual(75, minutesBetween); - } - - [Test] - public void PeriodicMinutesFrom_PriorTime_CalculatesMinutesBetween() - { - var nowDateTime = new DateTime(2017, 1, 1, 10, 30, 0); - var scheduledTime = "900"; - var minutesBetween = nowDateTime.PeriodicMinutesFrom(scheduledTime); - Assert.AreEqual(1350, minutesBetween); - } - - [Test] - public void PeriodicMinutesFrom_PriorTime_WithLeadingZero_CalculatesMinutesBetween() - { - var nowDateTime = new DateTime(2017, 1, 1, 10, 30, 0); - var scheduledTime = "0900"; - var minutesBetween = nowDateTime.PeriodicMinutesFrom(scheduledTime); - Assert.AreEqual(1350, minutesBetween); - } - - [Test] - public void PeriodicMinutesFrom_SameTime_CalculatesMinutesBetween() - { - var nowDateTime = new DateTime(2017, 1, 1, 10, 30, 0); - var scheduledTime = "1030"; - var minutesBetween = nowDateTime.PeriodicMinutesFrom(scheduledTime); - Assert.AreEqual(0, minutesBetween); - } - } -} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Core/ShortStringHelper/StringExtensionsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/ShortStringHelper/StringExtensionsTests.cs index b3244f9884..03c84a03b8 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Core/ShortStringHelper/StringExtensionsTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/ShortStringHelper/StringExtensionsTests.cs @@ -293,14 +293,13 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Core.ShortStringHelper Assert.AreEqual(expected, output); } - #region Cases [TestCase("val$id!ate|this|str'ing", "$!'", '-', "val-id-ate|this|str-ing")] [TestCase("val$id!ate|this|str'ing", "$!'", '*', "val*id*ate|this|str*ing")] - #endregion public void ReplaceManyByOneChar(string input, string toReplace, char replacement, string expected) { var output = input.ReplaceMany(toReplace.ToArray(), replacement); Assert.AreEqual(expected, output); } + } } diff --git a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/BackOfficeLookupNormalizerTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeLookupNormalizerTests.cs similarity index 96% rename from src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/BackOfficeLookupNormalizerTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeLookupNormalizerTests.cs index 532b488662..3feb458fe8 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/BackOfficeLookupNormalizerTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeLookupNormalizerTests.cs @@ -2,7 +2,7 @@ using NUnit.Framework; using Umbraco.Core.BackOffice; -namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Backoffice { public class BackOfficeLookupNormalizerTests { diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/HealthCheckNotifierTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/HealthCheckNotifierTests.cs new file mode 100644 index 0000000000..cdb98f7fa5 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/HealthCheckNotifierTests.cs @@ -0,0 +1,195 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.HealthCheck; +using Umbraco.Core.Logging; +using Umbraco.Core.Scoping; +using Umbraco.Core.Sync; +using Umbraco.Infrastructure.HealthCheck; +using Umbraco.Infrastructure.HostedServices; +using Umbraco.Web.HealthCheck; +using Umbraco.Web.HealthCheck.NotificationMethods; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices +{ + [TestFixture] + public class HealthCheckNotifierTests + { + private Mock _mockNotificationMethod; + + private const string _check1Id = "00000000-0000-0000-0000-000000000001"; + private const string _check2Id = "00000000-0000-0000-0000-000000000002"; + private const string _check3Id = "00000000-0000-0000-0000-000000000003"; + + [Test] + public async Task Does_Not_Execute_When_Not_Enabled() + { + var sut = CreateHealthCheckNotifier(enabled: false); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [TestCase(RuntimeLevel.Boot)] + [TestCase(RuntimeLevel.Install)] + [TestCase(RuntimeLevel.Unknown)] + [TestCase(RuntimeLevel.Upgrade)] + [TestCase(RuntimeLevel.BootFailed)] + public async Task Does_Not_Execute_When_Runtime_State_Is_Not_Run(RuntimeLevel runtimeLevel) + { + var sut = CreateHealthCheckNotifier(runtimeLevel: runtimeLevel); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Replica() + { + var sut = CreateHealthCheckNotifier(serverRole: ServerRole.Replica); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Unknown() + { + var sut = CreateHealthCheckNotifier(serverRole: ServerRole.Unknown); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Not_Main_Dom() + { + var sut = CreateHealthCheckNotifier(isMainDom: false); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [Test] + public async Task Does_Not_Execute_With_No_Enabled_Notification_Methods() + { + var sut = CreateHealthCheckNotifier(notificationEnabled: false); + await sut.PerformExecuteAsync(null); + VerifyNotificationsNotSent(); + } + + [Test] + public async Task Executes_With_Enabled_Notification_Methods() + { + var sut = CreateHealthCheckNotifier(); + await sut.PerformExecuteAsync(null); + VerifyNotificationsSent(); + } + + [Test] + public async Task Executes_Only_Enabled_Checks() + { + var sut = CreateHealthCheckNotifier(); + await sut.PerformExecuteAsync(null); + _mockNotificationMethod.Verify(x => x.SendAsync(It.Is( + y => y.ResultsAsDictionary.Count == 1 && y.ResultsAsDictionary.ContainsKey("Check1"))), Times.Once); + } + + private HealthCheckNotifier CreateHealthCheckNotifier( + bool enabled = true, + RuntimeLevel runtimeLevel = RuntimeLevel.Run, + ServerRole serverRole = ServerRole.Single, + bool isMainDom = true, + bool notificationEnabled = true) + { + var settings = new HealthChecksSettings + { + Notification = new HealthChecksNotificationSettings + { + Enabled = enabled, + DisabledChecks = new List + { + new DisabledHealthCheckSettings { Id = Guid.Parse(_check3Id) } + } + }, + DisabledChecks = new List + { + new DisabledHealthCheckSettings { Id = Guid.Parse(_check2Id) } + } + }; + var checks = new HealthCheckCollection(new List + { + new TestHealthCheck1(), + new TestHealthCheck2(), + new TestHealthCheck3(), + }); + + _mockNotificationMethod = new Mock(); + _mockNotificationMethod.SetupGet(x => x.Enabled).Returns(notificationEnabled); + var notifications = new HealthCheckNotificationMethodCollection(new List { _mockNotificationMethod.Object }); + + var mockRunTimeState = new Mock(); + mockRunTimeState.SetupGet(x => x.Level).Returns(runtimeLevel); + + var mockServerRegistrar = new Mock(); + mockServerRegistrar.Setup(x => x.GetCurrentServerRole()).Returns(serverRole); + + var mockMainDom = new Mock(); + mockMainDom.SetupGet(x => x.IsMainDom).Returns(isMainDom); + + var mockScopeProvider = new Mock(); + var mockLogger = new Mock>(); + var mockProfilingLogger = new Mock(); + + return new HealthCheckNotifier(Options.Create(settings), checks, notifications, + mockRunTimeState.Object, mockServerRegistrar.Object, mockMainDom.Object, mockScopeProvider.Object, + mockLogger.Object, mockProfilingLogger.Object, Mock.Of()); + } + + private void VerifyNotificationsNotSent() + { + VerifyNotificationsSentTimes(Times.Never()); + } + + private void VerifyNotificationsSent() + { + VerifyNotificationsSentTimes(Times.Once()); + } + + private void VerifyNotificationsSentTimes(Times times) + { + _mockNotificationMethod.Verify(x => x.SendAsync(It.IsAny()), times); + } + + [HealthCheck(_check1Id, "Check1")] + private class TestHealthCheck1 : TestHealthCheck + { + } + + [HealthCheck(_check2Id, "Check2")] + private class TestHealthCheck2 : TestHealthCheck + { + } + + [HealthCheck(_check3Id, "Check3")] + private class TestHealthCheck3 : TestHealthCheck + { + } + + private class TestHealthCheck : HealthCheck + { + public override HealthCheckStatus ExecuteAction(HealthCheckAction action) + { + return new HealthCheckStatus("Check message"); + } + + public override IEnumerable GetStatus() + { + return Enumerable.Empty(); + } + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs new file mode 100644 index 0000000000..9fc1454b6d --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/KeepAliveTests.cs @@ -0,0 +1,124 @@ +using System; +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Moq; +using Moq.Protected; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Logging; +using Umbraco.Core.Scoping; +using Umbraco.Core.Sync; +using Umbraco.Infrastructure.HostedServices; +using Umbraco.Web; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices +{ + [TestFixture] + public class KeepAliveTests + { + private Mock _mockHttpMessageHandler; + + private const string _applicationUrl = "https://mysite.com"; + + [Test] + public async Task Does_Not_Execute_When_Not_Enabled() + { + var sut = CreateKeepAlive(enabled: false); + await sut.PerformExecuteAsync(null); + VerifyKeepAliveRequestNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Replica() + { + var sut = CreateKeepAlive(serverRole: ServerRole.Replica); + await sut.PerformExecuteAsync(null); + VerifyKeepAliveRequestNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Unknown() + { + var sut = CreateKeepAlive(serverRole: ServerRole.Unknown); + await sut.PerformExecuteAsync(null); + VerifyKeepAliveRequestNotSent(); + } + + [Test] + public async Task Does_Not_Execute_When_Not_Main_Dom() + { + var sut = CreateKeepAlive(isMainDom: false); + await sut.PerformExecuteAsync(null); + VerifyKeepAliveRequestNotSent(); + } + + [Test] + public async Task Executes_And_Calls_Ping_Url() + { + var sut = CreateKeepAlive(); + await sut.PerformExecuteAsync(null); + VerifyKeepAliveRequestSent(); + } + + private KeepAlive CreateKeepAlive( + bool enabled = true, + ServerRole serverRole = ServerRole.Single, + bool isMainDom = true) + { + var settings = new KeepAliveSettings + { + DisableKeepAliveTask = !enabled, + }; + + var mockRequestAccessor = new Mock(); + mockRequestAccessor.Setup(x => x.GetApplicationUrl()).Returns(new Uri(_applicationUrl)); + + var mockServerRegistrar = new Mock(); + mockServerRegistrar.Setup(x => x.GetCurrentServerRole()).Returns(serverRole); + + var mockMainDom = new Mock(); + mockMainDom.SetupGet(x => x.IsMainDom).Returns(isMainDom); + + var mockScopeProvider = new Mock(); + var mockLogger = new Mock>(); + var mockProfilingLogger = new Mock(); + + _mockHttpMessageHandler = new Mock(); + _mockHttpMessageHandler.Protected() + .Setup>("SendAsync", ItExpr.IsAny(), ItExpr.IsAny()) + .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK)) + .Verifiable(); + _mockHttpMessageHandler.As().Setup(s => s.Dispose()); + var httpClient = new HttpClient(_mockHttpMessageHandler.Object); + + var mockHttpClientFactory = new Mock(MockBehavior.Strict); + mockHttpClientFactory.Setup(x => x.CreateClient(It.IsAny())).Returns(httpClient); + + return new KeepAlive(mockRequestAccessor.Object, mockMainDom.Object, Options.Create(settings), + mockLogger.Object, mockProfilingLogger.Object, mockServerRegistrar.Object, mockHttpClientFactory.Object); + } + + private void VerifyKeepAliveRequestNotSent() + { + VerifyKeepAliveRequestSentTimes(Times.Never()); + } + + private void VerifyKeepAliveRequestSent() + { + VerifyKeepAliveRequestSentTimes(Times.Once()); + } + + private void VerifyKeepAliveRequestSentTimes(Times times) + { + _mockHttpMessageHandler.Protected().Verify("SendAsync", + times, + ItExpr.Is(x => x.RequestUri.ToString() == $"{_applicationUrl}/api/keepalive/ping"), + ItExpr.IsAny()); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs new file mode 100644 index 0000000000..d30c83c545 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/LogScrubberTests.cs @@ -0,0 +1,102 @@ +using System; +using System.Data; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Events; +using Umbraco.Core.Logging; +using Umbraco.Core.Scoping; +using Umbraco.Core.Services; +using Umbraco.Core.Sync; +using Umbraco.Infrastructure.HostedServices; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices +{ + [TestFixture] + public class LogScrubberTests + { + private Mock _mockAuditService; + + const int _maxLogAgeInMinutes = 60; + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Replica() + { + var sut = CreateLogScrubber(serverRole: ServerRole.Replica); + await sut.PerformExecuteAsync(null); + VerifyLogsNotScrubbed(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Unknown() + { + var sut = CreateLogScrubber(serverRole: ServerRole.Unknown); + await sut.PerformExecuteAsync(null); + VerifyLogsNotScrubbed(); + } + + [Test] + public async Task Does_Not_Execute_When_Not_Main_Dom() + { + var sut = CreateLogScrubber(isMainDom: false); + await sut.PerformExecuteAsync(null); + VerifyLogsNotScrubbed(); + } + + [Test] + public async Task Executes_And_Scrubs_Logs() + { + var sut = CreateLogScrubber(); + await sut.PerformExecuteAsync(null); + VerifyLogsScrubbed(); + } + + private LogScrubber CreateLogScrubber( + ServerRole serverRole = ServerRole.Single, + bool isMainDom = true) + { + var settings = new LoggingSettings + { + MaxLogAge = TimeSpan.FromMinutes(_maxLogAgeInMinutes), + }; + + var mockServerRegistrar = new Mock(); + mockServerRegistrar.Setup(x => x.GetCurrentServerRole()).Returns(serverRole); + + var mockMainDom = new Mock(); + mockMainDom.SetupGet(x => x.IsMainDom).Returns(isMainDom); + + var mockScope = new Mock(); + var mockScopeProvider = new Mock(); + mockScopeProvider + .Setup(x => x.CreateScope(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())) + .Returns(mockScope.Object); + var mockLogger = new Mock>(); + var mockProfilingLogger = new Mock(); + + _mockAuditService = new Mock(); + + return new LogScrubber(mockMainDom.Object, mockServerRegistrar.Object, _mockAuditService.Object, + Options.Create(settings), mockScopeProvider.Object, mockLogger.Object, mockProfilingLogger.Object); + } + + private void VerifyLogsNotScrubbed() + { + VerifyLogsScrubbed(Times.Never()); + } + + private void VerifyLogsScrubbed() + { + VerifyLogsScrubbed(Times.Once()); + } + + private void VerifyLogsScrubbed(Times times) + { + _mockAuditService.Verify(x => x.CleanLogs(It.Is(y => y == _maxLogAgeInMinutes)), times); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ScheduledPublishingTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ScheduledPublishingTests.cs new file mode 100644 index 0000000000..a7d6925d18 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ScheduledPublishingTests.cs @@ -0,0 +1,128 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Logging; +using Umbraco.Core.Services; +using Umbraco.Core.Sync; +using Umbraco.Infrastructure.HostedServices; +using Umbraco.Web; +using LogLevel = Microsoft.Extensions.Logging.LogLevel; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices +{ + [TestFixture] + public class ScheduledPublishingTests + { + private Mock _mockContentService; + private Mock> _mockLogger; + + [Test] + public async Task Does_Not_Execute_When_Not_Enabled() + { + var sut = CreateScheduledPublishing(enabled: false); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingNotPerformed(); + } + + [TestCase(RuntimeLevel.Boot)] + [TestCase(RuntimeLevel.Install)] + [TestCase(RuntimeLevel.Unknown)] + [TestCase(RuntimeLevel.Upgrade)] + [TestCase(RuntimeLevel.BootFailed)] + public async Task Does_Not_Execute_When_Runtime_State_Is_Not_Run(RuntimeLevel runtimeLevel) + { + var sut = CreateScheduledPublishing(runtimeLevel: runtimeLevel); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingNotPerformed(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Replica() + { + var sut = CreateScheduledPublishing(serverRole: ServerRole.Replica); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingNotPerformed(); + } + + [Test] + public async Task Does_Not_Execute_When_Server_Role_Is_Unknown() + { + var sut = CreateScheduledPublishing(serverRole: ServerRole.Unknown); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingNotPerformed(); + } + + [Test] + public async Task Does_Not_Execute_When_Not_Main_Dom() + { + var sut = CreateScheduledPublishing(isMainDom: false); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingNotPerformed(); + } + + [Test] + public async Task Executes_And_Performs_Scheduled_Publishing() + { + var sut = CreateScheduledPublishing(); + await sut.PerformExecuteAsync(null); + VerifyScheduledPublishingPerformed(); + } + + private ScheduledPublishing CreateScheduledPublishing( + bool enabled = true, + RuntimeLevel runtimeLevel = RuntimeLevel.Run, + ServerRole serverRole = ServerRole.Single, + bool isMainDom = true) + { + if (enabled) + { + Suspendable.ScheduledPublishing.Resume(); + } + else + { + Suspendable.ScheduledPublishing.Suspend(); + } + + var mockRunTimeState = new Mock(); + mockRunTimeState.SetupGet(x => x.Level).Returns(runtimeLevel); + + var mockServerRegistrar = new Mock(); + mockServerRegistrar.Setup(x => x.GetCurrentServerRole()).Returns(serverRole); + + var mockMainDom = new Mock(); + mockMainDom.SetupGet(x => x.IsMainDom).Returns(isMainDom); + + _mockContentService = new Mock(); + + var mockUmbracoContextFactory = new Mock(); + mockUmbracoContextFactory.Setup(x => x.EnsureUmbracoContext()).Returns(new UmbracoContextReference(null, false, null)); + + _mockLogger = new Mock>(); + + var mockServerMessenger = new Mock(); + + var mockBackOfficeSecurityFactory = new Mock(); + + return new ScheduledPublishing(mockRunTimeState.Object, mockMainDom.Object, mockServerRegistrar.Object, _mockContentService.Object, + mockUmbracoContextFactory.Object, _mockLogger.Object, mockServerMessenger.Object, mockBackOfficeSecurityFactory.Object); + } + + private void VerifyScheduledPublishingNotPerformed() + { + VerifyScheduledPublishingPerformed(Times.Never()); + } + + private void VerifyScheduledPublishingPerformed() + { + VerifyScheduledPublishingPerformed(Times.Once()); + } + + private void VerifyScheduledPublishingPerformed(Times times) + { + _mockContentService.Verify(x => x.PerformScheduledPublish(It.IsAny()), times); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTaskTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTaskTests.cs new file mode 100644 index 0000000000..86644afc77 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/InstructionProcessTaskTests.cs @@ -0,0 +1,67 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Sync; +using Umbraco.Infrastructure.HostedServices.ServerRegistration; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices.ServerRegistration +{ + [TestFixture] + public class InstructionProcessTaskTests + { + private Mock _mockDatabaseServerMessenger; + + [TestCase(RuntimeLevel.Boot)] + [TestCase(RuntimeLevel.Install)] + [TestCase(RuntimeLevel.Unknown)] + [TestCase(RuntimeLevel.Upgrade)] + [TestCase(RuntimeLevel.BootFailed)] + public async Task Does_Not_Execute_When_Runtime_State_Is_Not_Run(RuntimeLevel runtimeLevel) + { + var sut = CreateInstructionProcessTask(runtimeLevel: runtimeLevel); + await sut.PerformExecuteAsync(null); + VerifyMessengerNotSynced(); + } + + [Test] + public async Task Executes_And_Touches_Server() + { + var sut = CreateInstructionProcessTask(); + await sut.PerformExecuteAsync(null); + VerifyMessengerSynced(); + } + + private InstructionProcessTask CreateInstructionProcessTask(RuntimeLevel runtimeLevel = RuntimeLevel.Run) + { + var mockRunTimeState = new Mock(); + mockRunTimeState.SetupGet(x => x.Level).Returns(runtimeLevel); + + var mockLogger = new Mock>(); + + _mockDatabaseServerMessenger = new Mock(); + + var settings = new GlobalSettings(); + + return new InstructionProcessTask(mockRunTimeState.Object, _mockDatabaseServerMessenger.Object, mockLogger.Object, Options.Create(settings)); + } + + private void VerifyMessengerNotSynced() + { + VerifyMessengerSyncedTimes(Times.Never()); + } + + private void VerifyMessengerSynced() + { + VerifyMessengerSyncedTimes(Times.Once()); + } + + private void VerifyMessengerSyncedTimes(Times times) + { + _mockDatabaseServerMessenger.Verify(x => x.Sync(), times); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTaskTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTaskTests.cs new file mode 100644 index 0000000000..499ff05f04 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/ServerRegistration/TouchServerTaskTests.cs @@ -0,0 +1,97 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Services; +using Umbraco.Infrastructure.HostedServices.ServerRegistration; +using Umbraco.Web; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices.ServerRegistration +{ + [TestFixture] + public class TouchServerTaskTests + { + private Mock _mockServerRegistrationService; + + private const string _applicationUrl = "https://mysite.com/"; + private const string _serverIdentity = "Test/1"; + private readonly TimeSpan _staleServerTimeout = TimeSpan.FromMinutes(2); + + [TestCase(RuntimeLevel.Boot)] + [TestCase(RuntimeLevel.Install)] + [TestCase(RuntimeLevel.Unknown)] + [TestCase(RuntimeLevel.Upgrade)] + [TestCase(RuntimeLevel.BootFailed)] + public async Task Does_Not_Execute_When_Runtime_State_Is_Not_Run(RuntimeLevel runtimeLevel) + { + var sut = CreateTouchServerTask(runtimeLevel: runtimeLevel); + await sut.PerformExecuteAsync(null); + VerifyServerNotTouched(); + } + + [Test] + public async Task Does_Not_Execute_When_Application_Url_Is_Not_Available() + { + var sut = CreateTouchServerTask(applicationUrl: string.Empty); + await sut.PerformExecuteAsync(null); + VerifyServerNotTouched(); + } + + [Test] + public async Task Executes_And_Touches_Server() + { + var sut = CreateTouchServerTask(); + await sut.PerformExecuteAsync(null); + VerifyServerTouched(); + } + + private TouchServerTask CreateTouchServerTask(RuntimeLevel runtimeLevel = RuntimeLevel.Run, string applicationUrl = _applicationUrl) + { + var mockRequestAccessor = new Mock(); + mockRequestAccessor.Setup(x => x.GetApplicationUrl()).Returns(!string.IsNullOrEmpty(applicationUrl) ? new Uri(_applicationUrl) : null); + + var mockRunTimeState = new Mock(); + mockRunTimeState.SetupGet(x => x.Level).Returns(runtimeLevel); + + var mockLogger = new Mock>(); + + _mockServerRegistrationService = new Mock(); + _mockServerRegistrationService.SetupGet(x => x.CurrentServerIdentity).Returns(_serverIdentity); + + var settings = new GlobalSettings + { + DatabaseServerRegistrar = new DatabaseServerRegistrarSettings + { + StaleServerTimeout = _staleServerTimeout, + } + }; + + return new TouchServerTask(mockRunTimeState.Object, _mockServerRegistrationService.Object, mockRequestAccessor.Object, + mockLogger.Object, Options.Create(settings)); + } + + private void VerifyServerNotTouched() + { + VerifyServerTouchedTimes(Times.Never()); + } + + private void VerifyServerTouched() + { + VerifyServerTouchedTimes(Times.Once()); + } + + private void VerifyServerTouchedTimes(Times times) + { + _mockServerRegistrationService + .Verify(x => x.TouchServer( + It.Is(y => y == _applicationUrl), + It.Is(y => y == _serverIdentity), + It.Is(y => y == _staleServerTimeout)), + times); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/TempFileCleanupTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/TempFileCleanupTests.cs new file mode 100644 index 0000000000..7feda1e9da --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/HostedServices/TempFileCleanupTests.cs @@ -0,0 +1,68 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; +using Umbraco.Infrastructure.HostedServices; + +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.HostedServices +{ + [TestFixture] + public class TempFileCleanupTests + { + private Mock _mockIOHelper; + private string _testPath = @"c:\test\temp\path"; + + [Test] + public async Task Does_Not_Execute_When_Not_Main_Dom() + { + var sut = CreateTempFileCleanup(isMainDom: false); + await sut.PerformExecuteAsync(null); + VerifyFilesNotCleaned(); + } + + [Test] + public async Task Executes_And_Cleans_Files() + { + var sut = CreateTempFileCleanup(); + await sut.PerformExecuteAsync(null); + VerifyFilesCleaned(); + } + + private TempFileCleanup CreateTempFileCleanup(bool isMainDom = true) + { + var mockMainDom = new Mock(); + mockMainDom.SetupGet(x => x.IsMainDom).Returns(isMainDom); + + _mockIOHelper = new Mock(); + _mockIOHelper.Setup(x => x.GetTempFolders()) + .Returns(new DirectoryInfo[] { new DirectoryInfo(_testPath) }); + _mockIOHelper.Setup(x => x.CleanFolder(It.IsAny(), It.IsAny())) + .Returns(CleanFolderResult.Success()); + + var mockLogger = new Mock>(); + var mockProfilingLogger = new Mock(); + + return new TempFileCleanup(_mockIOHelper.Object, mockMainDom.Object, mockLogger.Object); + } + + private void VerifyFilesNotCleaned() + { + VerifyFilesCleaned(Times.Never()); + } + + private void VerifyFilesCleaned() + { + VerifyFilesCleaned(Times.Once()); + } + + private void VerifyFilesCleaned(Times times) + { + _mockIOHelper.Verify(x => x.CleanFolder(It.Is(y => y.FullName == _testPath), It.IsAny()), times); + } + } +} diff --git a/src/Umbraco.Tests.Integration/Logging/LogviewerTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Logging/LogviewerTests.cs similarity index 82% rename from src/Umbraco.Tests.Integration/Logging/LogviewerTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Logging/LogviewerTests.cs index 789fd24291..2b78714997 100644 --- a/src/Umbraco.Tests.Integration/Logging/LogviewerTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Logging/LogviewerTests.cs @@ -2,15 +2,16 @@ using NUnit.Framework; using Serilog; using System; +using System.Diagnostics; using System.IO; using System.Linq; using Microsoft.Extensions.Logging; +using StackExchange.Profiling.Internal; using Umbraco.Core; using Umbraco.Core.Logging.Viewer; using Umbraco.Tests.TestHelpers; -using Umbraco.Tests.Integration.Implementations; -namespace Umbraco.Tests.Integration.Logging +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.Logging { [TestFixture] public class LogviewerTests @@ -33,19 +34,19 @@ namespace Umbraco.Tests.Integration.Logging [OneTimeSetUp] public void Setup() { + var testRoot = TestContext.CurrentContext.TestDirectory.Split("bin")[0]; //Create an example JSON log file to check results //As a one time setup for all tets in this class/fixture - var testHelper = new TestHelper(); - var ioHelper = testHelper.IOHelper; - var hostingEnv = testHelper.GetHostingEnvironment(); + var ioHelper = TestHelper.IOHelper; + var hostingEnv = TestHelper.GetHostingEnvironment(); - var loggingConfiguration = testHelper.GetLoggingConfiguration(hostingEnv); + var loggingConfiguration = TestHelper.GetLoggingConfiguration(hostingEnv); - var exampleLogfilePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"Logging\", _logfileName); + var exampleLogfilePath = Path.Combine(testRoot, @"TestHelpers\Assets\", _logfileName); _newLogfileDirPath = loggingConfiguration.LogDirectory; _newLogfilePath = Path.Combine(_newLogfileDirPath, _logfileName); - var exampleSearchfilePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"Logging\", _searchfileName); + var exampleSearchfilePath = Path.Combine(testRoot, @"TestHelpers\Assets\", _searchfileName); _newSearchfileDirPath = Path.Combine(hostingEnv.ApplicationPhysicalPath, @"Config\"); _newSearchfilePath = Path.Combine(_newSearchfileDirPath, _searchfileName); @@ -80,7 +81,7 @@ namespace Umbraco.Tests.Integration.Logging var numberOfErrors = _logViewer.GetNumberOfErrors(_logTimePeriod); //Our dummy log should contain 2 errors - Assert.AreEqual(2, numberOfErrors); + Assert.AreEqual(1, numberOfErrors); } [Test] @@ -88,11 +89,11 @@ namespace Umbraco.Tests.Integration.Logging { var logCounts = _logViewer.GetLogLevelCounts(_logTimePeriod); - Assert.AreEqual(1954, logCounts.Debug); - Assert.AreEqual(2, logCounts.Error); + Assert.AreEqual(55, logCounts.Debug); + Assert.AreEqual(1, logCounts.Error); Assert.AreEqual(0, logCounts.Fatal); - Assert.AreEqual(62, logCounts.Information); - Assert.AreEqual(7, logCounts.Warning); + Assert.AreEqual(38, logCounts.Information); + Assert.AreEqual(6, logCounts.Warning); } [Test] @@ -101,7 +102,7 @@ namespace Umbraco.Tests.Integration.Logging var templates = _logViewer.GetMessageTemplates(_logTimePeriod); //Count no of templates - Assert.AreEqual(43, templates.Count()); + Assert.AreEqual(25, templates.Count()); //Verify all templates & counts are unique CollectionAssert.AllItemsAreUnique(templates); @@ -113,8 +114,8 @@ namespace Umbraco.Tests.Integration.Logging var popularTemplate = templates.FirstOrDefault(); Assert.IsNotNull(popularTemplate); - Assert.AreEqual("{LogPrefix} Task added {TaskType}", popularTemplate.MessageTemplate); - Assert.AreEqual(689, popularTemplate.Count); + Assert.AreEqual("{EndMessage} ({Duration}ms) [Timing {TimingId}]", popularTemplate.MessageTemplate); + Assert.AreEqual(26, popularTemplate.Count); } [Test] @@ -129,13 +130,16 @@ namespace Umbraco.Tests.Integration.Logging [Test] public void Logs_Can_Be_Queried() { + var sw = new Stopwatch(); + sw.Start(); //Should get me the most 100 recent log entries & using default overloads for remaining params var allLogs = _logViewer.GetLogs(_logTimePeriod, pageNumber: 1); + sw.Stop(); //Check we get 100 results back for a page & total items all good :) Assert.AreEqual(100, allLogs.Items.Count()); - Assert.AreEqual(2410, allLogs.TotalItems); - Assert.AreEqual(25, allLogs.TotalPages); + Assert.AreEqual(102, allLogs.TotalItems); + Assert.AreEqual(2, allLogs.TotalPages); //Check collection all contain same object type CollectionAssert.AllItemsAreInstancesOfType(allLogs.Items, typeof(LogMessage)); @@ -143,14 +147,14 @@ namespace Umbraco.Tests.Integration.Logging //Check first item is newest var newestItem = allLogs.Items.First(); DateTimeOffset newDate; - DateTimeOffset.TryParse("2018-11-12T09:24:27.4057583Z", out newDate); + DateTimeOffset.TryParse("2018-11-12T08:39:18.1971147Z", out newDate); Assert.AreEqual(newDate, newestItem.Timestamp); //Check we call method again with a smaller set of results & in ascending var smallQuery = _logViewer.GetLogs(_logTimePeriod, pageNumber: 1, pageSize: 10, orderDirection: Direction.Ascending); Assert.AreEqual(10, smallQuery.Items.Count()); - Assert.AreEqual(241, smallQuery.TotalPages); + Assert.AreEqual(11, smallQuery.TotalPages); //Check first item is oldest var oldestItem = smallQuery.Items.First(); @@ -163,12 +167,12 @@ namespace Umbraco.Tests.Integration.Logging //Rather than expect 0 items - get all items back & ignore the invalid levels string[] invalidLogLevels = { "Invalid", "NotALevel" }; var queryWithInvalidLevels = _logViewer.GetLogs(_logTimePeriod, pageNumber: 1, logLevels: invalidLogLevels); - Assert.AreEqual(2410, queryWithInvalidLevels.TotalItems); + Assert.AreEqual(102, queryWithInvalidLevels.TotalItems); //Check we can call method with an array of logLevel (error & warning) string [] logLevels = { "Warning", "Error" }; var queryWithLevels = _logViewer.GetLogs(_logTimePeriod, pageNumber: 1, logLevels: logLevels); - Assert.AreEqual(9, queryWithLevels.TotalItems); + Assert.AreEqual(7, queryWithLevels.TotalItems); //Query @Level='Warning' BUT we pass in array of LogLevels for Debug & Info (Expect to get 0 results) string[] logLevelMismatch = { "Debug", "Information" }; @@ -176,12 +180,12 @@ namespace Umbraco.Tests.Integration.Logging Assert.AreEqual(0, filterLevelQuery.TotalItems); } - [TestCase("", 2410)] - [TestCase("Has(@Exception)", 2)] - [TestCase("Has(Duration) and Duration > 1000", 13)] - [TestCase("Not(@Level = 'Verbose') and Not(@Level= 'Debug')", 71)] - [TestCase("StartsWith(SourceContext, 'Umbraco.Core')", 1183)] - [TestCase("@MessageTemplate = '{EndMessage} ({Duration}ms) [Timing {TimingId}]'", 622)] + [TestCase("", 102)] + [TestCase("Has(@Exception)", 1)] + [TestCase("Has(Duration) and Duration > 1000", 2)] + [TestCase("Not(@Level = 'Verbose') and Not(@Level= 'Debug')", 45)] + [TestCase("StartsWith(SourceContext, 'Umbraco.Core')", 86)] + [TestCase("@MessageTemplate = '{EndMessage} ({Duration}ms) [Timing {TimingId}]'", 26)] [TestCase("SortedComponentTypes[?] = 'Umbraco.Web.Search.ExamineComponent'", 1)] [TestCase("Contains(SortedComponentTypes[?], 'DatabaseServer')", 1)] [Test] diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj index 938eff3096..76764d0483 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj @@ -24,4 +24,9 @@ + + + + + diff --git a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Security/BackOfficeCookieManagerTests.cs similarity index 89% rename from src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Security/BackOfficeCookieManagerTests.cs index d3424835e1..e1a8ff9c58 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Security/BackOfficeCookieManagerTests.cs @@ -8,12 +8,11 @@ using Umbraco.Core.Cache; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; using Umbraco.Extensions; -using Umbraco.Tests.Integration.Implementations; using Umbraco.Web; using Umbraco.Web.BackOffice.Controllers; using Umbraco.Web.BackOffice.Security; -namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Backoffice.Security { [TestFixture] public class BackOfficeCookieManagerTests @@ -21,9 +20,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security [Test] public void ShouldAuthenticateRequest_When_Not_Configured() { - var testHelper = new TestHelper(); - - var httpContextAccessor = testHelper.GetHttpContextAccessor(); var globalSettings = new GlobalSettings(); var runtime = Mock.Of(x => x.Level == RuntimeLevel.Install); @@ -43,12 +39,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security [Test] public void ShouldAuthenticateRequest_When_Configured() { - var testHelper = new TestHelper(); - - - //hostingEnvironment.ToAbsolute(globalSettings.UmbracoPath); - - var httpContextAccessor = testHelper.GetHttpContextAccessor(); var globalSettings = new GlobalSettings(); var runtime = Mock.Of(x => x.Level == RuntimeLevel.Run); @@ -68,9 +58,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security [Test] public void ShouldAuthenticateRequest_Is_Back_Office() { - var testHelper = new TestHelper(); - - var httpContextAccessor = testHelper.GetHttpContextAccessor(); var globalSettings = new GlobalSettings(); var runtime = Mock.Of(x => x.Level == RuntimeLevel.Run); @@ -93,9 +80,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security [Test] public void ShouldAuthenticateRequest_Force_Auth() { - var testHelper = new TestHelper(); - - var httpContextAccessor = testHelper.GetHttpContextAccessor(); var globalSettings = new GlobalSettings(); var runtime = Mock.Of(x => x.Level == RuntimeLevel.Run); @@ -115,9 +99,6 @@ namespace Umbraco.Tests.Integration.Umbraco.Web.Backoffice.Security [Test] public void ShouldAuthenticateRequest_Not_Back_Office() { - var testHelper = new TestHelper(); - - var httpContextAccessor = testHelper.GetHttpContextAccessor(); var globalSettings = new GlobalSettings(); var runtime = Mock.Of(x => x.Level == RuntimeLevel.Run); diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Extensions/HtmlHelperExtensionMethodsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Extensions/HtmlHelperExtensionMethodsTests.cs new file mode 100644 index 0000000000..abb44a5dfb --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Extensions/HtmlHelperExtensionMethodsTests.cs @@ -0,0 +1,118 @@ +using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Mvc.ModelBinding; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers; +using Microsoft.Extensions.WebEncoders.Testing; +using Moq; +using NUnit.Framework; +using Umbraco.Extensions; + +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Filters +{ + + [TestFixture] + public class HtmlHelperExtensionMethodsTests + { + private const string SampleWithAnchorElement = "Hello world, this is some text with a link"; + private const string SampleWithBoldAndAnchorElements = "Hello world, this is some text with a link"; + + [SetUp] + public virtual void Initialize() + { + //create an empty htmlHelper + _htmlHelper = new HtmlHelper(Mock.Of(), + Mock.Of(), + Mock.Of(), + Mock.Of(), + new HtmlTestEncoder(), + UrlEncoder.Default); + } + + private HtmlHelper _htmlHelper; + + [Test] + public void Truncate_Simple() + { + var result = _htmlHelper.Truncate(SampleWithAnchorElement, 25).ToString(); + + Assert.AreEqual("Hello world, this is some…", result); + } + + [Test] + public void When_Truncating_A_String_Ends_With_A_Space_We_Should_Trim_The_Space_Before_Appending_The_Ellipsis() + { + var result = _htmlHelper.Truncate(SampleWithAnchorElement, 26).ToString(); + + Assert.AreEqual("Hello world, this is some…", result); + } + + [Test] + public void Truncate_Inside_Word() + { + var result = _htmlHelper.Truncate(SampleWithAnchorElement, 24).ToString(); + + Assert.AreEqual("Hello world, this is som…", result); + } + + [Test] + public void Truncate_With_Tag() + { + var result = _htmlHelper.Truncate(SampleWithAnchorElement, 35).ToString(); + + Assert.AreEqual("Hello world, this is some text with…", result); + } + + [Test] + public void Truncate_By_Words() + { + var result = _htmlHelper.TruncateByWords(SampleWithAnchorElement, 4).ToString(); + + Assert.AreEqual("Hello world, this is…", result); + } + + [Test] + public void Truncate_By_Words_With_Tag() + { + var result = _htmlHelper.TruncateByWords(SampleWithBoldAndAnchorElements, 4).ToString(); + + Assert.AreEqual("Hello world, this is…", result); + } + + [Test] + public void Truncate_By_Words_Mid_Tag() + { + var result = _htmlHelper.TruncateByWords(SampleWithAnchorElement, 7).ToString(); + + Assert.AreEqual("Hello world, this is some text with…", result); + } + + [Test] + public void Strip_All_Html() + { + var result = _htmlHelper.StripHtml(SampleWithBoldAndAnchorElements, null).ToString(); + + Assert.AreEqual("Hello world, this is some text with a link", result); + } + + [Test] + public void Strip_Specific_Html() + { + string[] tags = { "b" }; + + var result = _htmlHelper.StripHtml(SampleWithBoldAndAnchorElements, tags).ToString(); + + Assert.AreEqual(SampleWithAnchorElement, result); + } + + [Test] + public void Strip_Invalid_Html() + { + const string text = "Hello world, is some text with a link"; + + var result = _htmlHelper.StripHtml(text).ToString(); + + Assert.AreEqual("Hello world, is some text with a link", result); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringFilterTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringFilterTests.cs new file mode 100644 index 0000000000..3ed4a28b06 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringFilterTests.cs @@ -0,0 +1,41 @@ +using Microsoft.AspNetCore.DataProtection; +using NUnit.Framework; +using Umbraco.Web.Common.Exceptions; +using Umbraco.Web.Common.Filters; +using Umbraco.Web.Common.Security; + +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Filters +{ + [TestFixture] + public class ValidateUmbracoFormRouteStringFilterTests + { + private IDataProtectionProvider DataProtectionProvider { get; } = new EphemeralDataProtectionProvider(); + + [Test] + public void Validate_Route_String() + { + var filter = new ValidateUmbracoFormRouteStringAttribute.ValidateUmbracoFormRouteStringFilter(DataProtectionProvider); + + Assert.Throws(() => filter.ValidateRouteString(null, null, null, null)); + + const string ControllerName = "Test"; + const string ControllerAction = "Index"; + const string Area = "MyArea"; + var validUfprt = EncryptionHelper.CreateEncryptedRouteString(DataProtectionProvider, ControllerName, ControllerAction, Area); + + var invalidUfprt = validUfprt + "z"; + Assert.Throws(() => filter.ValidateRouteString(invalidUfprt, null, null, null)); + + Assert.Throws(() => filter.ValidateRouteString(validUfprt, ControllerName, ControllerAction, "doesntMatch")); + Assert.Throws(() => filter.ValidateRouteString(validUfprt, ControllerName, ControllerAction, null)); + Assert.Throws(() => filter.ValidateRouteString(validUfprt, ControllerName, "doesntMatch", Area)); + Assert.Throws(() => filter.ValidateRouteString(validUfprt, ControllerName, null, Area)); + Assert.Throws(() => filter.ValidateRouteString(validUfprt, "doesntMatch", ControllerAction, Area)); + Assert.Throws(() => filter.ValidateRouteString(validUfprt, null, ControllerAction, Area)); + + Assert.DoesNotThrow(() => filter.ValidateRouteString(validUfprt, ControllerName, ControllerAction, Area)); + Assert.DoesNotThrow(() => filter.ValidateRouteString(validUfprt, ControllerName.ToLowerInvariant(), ControllerAction.ToLowerInvariant(), Area.ToLowerInvariant())); + } + + } +} diff --git a/src/Umbraco.Tests/Web/Mvc/HtmlStringUtilitiesTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Mvc/HtmlStringUtilitiesTests.cs similarity index 94% rename from src/Umbraco.Tests/Web/Mvc/HtmlStringUtilitiesTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Mvc/HtmlStringUtilitiesTests.cs index 36ddecc676..4b1675b7f0 100644 --- a/src/Umbraco.Tests/Web/Mvc/HtmlStringUtilitiesTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Mvc/HtmlStringUtilitiesTests.cs @@ -1,7 +1,8 @@ using NUnit.Framework; using Umbraco.Web; +using Umbraco.Web.Common.Mvc; -namespace Umbraco.Tests.Web.Mvc +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Mvc { [TestFixture] public class HtmlStringUtilitiesTests diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs index a3a9e79e20..40b7030ba8 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs @@ -56,19 +56,11 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Routing Assert.AreEqual(1, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); - Assert.AreEqual(4, route.Endpoints.Count); - + Assert.AreEqual(3, route.Endpoints.Count); + AssertMinimalBackOfficeRoutes(route); - var endpoint3 = (RouteEndpoint)route.Endpoints[2]; - var previewControllerName = ControllerExtensions.GetControllerName(); - Assert.AreEqual($"umbraco/{previewControllerName.ToLowerInvariant()}/{{action}}/{{id?}}", endpoint3.RoutePattern.RawText); - Assert.AreEqual(Constants.Web.Mvc.BackOfficeArea, endpoint3.RoutePattern.Defaults["area"]); - Assert.AreEqual("Index", endpoint3.RoutePattern.Defaults["action"]); - Assert.AreEqual(previewControllerName, endpoint3.RoutePattern.Defaults["controller"]); - Assert.AreEqual(endpoint3.RoutePattern.Defaults["area"], typeof(PreviewController).GetCustomAttribute(false).RouteValue); - - var endpoint4 = (RouteEndpoint)route.Endpoints[3]; + var endpoint4 = (RouteEndpoint)route.Endpoints[2]; var apiControllerName = ControllerExtensions.GetControllerName(); Assert.AreEqual($"umbraco/backoffice/api/{apiControllerName.ToLowerInvariant()}/{{action}}/{{id?}}", endpoint4.RoutePattern.RawText); Assert.IsFalse(endpoint4.RoutePattern.Defaults.ContainsKey("area")); diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/PreviewRoutesTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/PreviewRoutesTests.cs index 1d85ca554f..1fc6b092c8 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/PreviewRoutesTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/PreviewRoutesTests.cs @@ -36,7 +36,7 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Routing Assert.AreEqual(0, endpoints.DataSources.Count); } - + [Test] public void RuntimeState_Run() { @@ -44,16 +44,25 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Routing var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); - Assert.AreEqual(1, endpoints.DataSources.Count); + Assert.AreEqual(2, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); Assert.AreEqual(2, route.Endpoints.Count); var endpoint0 = (RouteEndpoint) route.Endpoints[0]; - Assert.AreEqual($"{routes.GetPreviewHubRoute()}/negotiate", endpoint0.RoutePattern.RawText); + Assert.AreEqual($"{routes.GetPreviewHubRoute()}/negotiate", endpoint0.RoutePattern.RawText); var endpoint1 = (RouteEndpoint) route.Endpoints[1]; Assert.AreEqual($"{routes.GetPreviewHubRoute()}", endpoint1.RoutePattern.RawText); + var endpoint3 = (RouteEndpoint)endpoints.DataSources.Last().Endpoints[0]; + var previewControllerName = ControllerExtensions.GetControllerName(); + Assert.AreEqual($"umbraco/{previewControllerName.ToLowerInvariant()}/{{action}}/{{id?}}", endpoint3.RoutePattern.RawText); + Assert.AreEqual(Constants.Web.Mvc.BackOfficeArea, endpoint3.RoutePattern.Defaults["area"]); + Assert.AreEqual("Index", endpoint3.RoutePattern.Defaults["action"]); + Assert.AreEqual(previewControllerName, endpoint3.RoutePattern.Defaults["controller"]); + Assert.AreEqual(endpoint3.RoutePattern.Defaults["area"], typeof(PreviewController).GetCustomAttribute(false).RouteValue); + + } private PreviewRoutes GetRoutes(RuntimeLevel level) { diff --git a/src/Umbraco.Tests/Web/UrlHelperExtensionTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Security/EncryptionHelperTests.cs similarity index 59% rename from src/Umbraco.Tests/Web/UrlHelperExtensionTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Security/EncryptionHelperTests.cs index a4b96ab4ff..db80e2cd74 100644 --- a/src/Umbraco.Tests/Web/UrlHelperExtensionTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Security/EncryptionHelperTests.cs @@ -1,15 +1,20 @@ using System.Collections.Generic; +using Microsoft.AspNetCore.DataProtection; using NUnit.Framework; using Umbraco.Core; using Umbraco.Web; +using Umbraco.Web.Common.Security; -namespace Umbraco.Tests.Web +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Common.Security { [TestFixture] - public class UrlHelperExtensionTests + public class EncryptionHelperTests { + + private IDataProtectionProvider DataProtectionProvider { get; } = new EphemeralDataProtectionProvider(); + [Test] - public static void Create_Encrypted_RouteString_From_Anonymous_Object() + public void Create_Encrypted_RouteString_From_Anonymous_Object() { var additionalRouteValues = new { @@ -19,14 +24,15 @@ namespace Umbraco.Tests.Web keY4 = "valuE4" }; - var encryptedRouteString = UrlHelperRenderExtensions.CreateEncryptedRouteString( + var encryptedRouteString = EncryptionHelper.CreateEncryptedRouteString( + DataProtectionProvider, "FormController", "FormAction", "", additionalRouteValues ); - var result = encryptedRouteString.DecryptWithMachineKey(); + var result = EncryptionHelper.Decrypt(encryptedRouteString, DataProtectionProvider); const string expectedResult = "c=FormController&a=FormAction&ar=&key1=value1&key2=value2&Key3=Value3&keY4=valuE4"; @@ -34,7 +40,7 @@ namespace Umbraco.Tests.Web } [Test] - public static void Create_Encrypted_RouteString_From_Dictionary() + public void Create_Encrypted_RouteString_From_Dictionary() { var additionalRouteValues = new Dictionary() { @@ -44,14 +50,15 @@ namespace Umbraco.Tests.Web {"keY4", "valuE4"} }; - var encryptedRouteString = UrlHelperRenderExtensions.CreateEncryptedRouteString( + var encryptedRouteString = EncryptionHelper.CreateEncryptedRouteString( + DataProtectionProvider, "FormController", "FormAction", "", additionalRouteValues ); - var result = encryptedRouteString.DecryptWithMachineKey(); + var result = EncryptionHelper.Decrypt(encryptedRouteString, DataProtectionProvider); const string expectedResult = "c=FormController&a=FormAction&ar=&key1=value1&key2=value2&Key3=Value3&keY4=valuE4"; diff --git a/src/Umbraco.Tests/Web/Mvc/RenderNoContentControllerTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/Controllers/RenderNoContentControllerTests.cs similarity index 85% rename from src/Umbraco.Tests/Web/Mvc/RenderNoContentControllerTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/Controllers/RenderNoContentControllerTests.cs index 3f66dcb86c..182fb94a40 100644 --- a/src/Umbraco.Tests/Web/Mvc/RenderNoContentControllerTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/Controllers/RenderNoContentControllerTests.cs @@ -1,15 +1,15 @@ -using System.Web.Mvc; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using Moq; using NUnit.Framework; -using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.IO; using Umbraco.Tests.Common; using Umbraco.Web; -using Umbraco.Web.Models; -using Umbraco.Web.Mvc; +using Umbraco.Web.Website.Controllers; +using Umbraco.Web.Website.Models; -namespace Umbraco.Tests.Web.Mvc +namespace Umbraco.Tests.UnitTests.Umbraco.Web.Website.Controllers { [TestFixture] public class RenderNoContentControllerTests @@ -21,7 +21,7 @@ namespace Umbraco.Tests.Web.Mvc var mockUmbracoContext = new Mock(); mockUmbracoContext.Setup(x => x.Content.HasContent()).Returns(true); var mockIOHelper = new Mock(); - var controller = new RenderNoContentController(new TestUmbracoContextAccessor(mockUmbracoContext.Object), mockIOHelper.Object, new GlobalSettings()); + var controller = new RenderNoContentController(new TestUmbracoContextAccessor(mockUmbracoContext.Object), mockIOHelper.Object, Options.Create(new GlobalSettings())); var result = controller.Index() as RedirectResult; @@ -39,11 +39,12 @@ namespace Umbraco.Tests.Web.Mvc mockUmbracoContext.Setup(x => x.Content.HasContent()).Returns(false); var mockIOHelper = new Mock(); mockIOHelper.Setup(x => x.ResolveUrl(It.Is(y => y == UmbracoPathSetting))).Returns(UmbracoPath); - var globalSettings = new GlobalSettings() + + var globalSettings = Options.Create(new GlobalSettings() { UmbracoPath = UmbracoPathSetting, NoNodesViewPath = ViewPath, - }; + }); var controller = new RenderNoContentController(new TestUmbracoContextAccessor(mockUmbracoContext.Object), mockIOHelper.Object, globalSettings); var result = controller.Index() as ViewResult; diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetupTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetupTests.cs new file mode 100644 index 0000000000..a74431b705 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetupTests.cs @@ -0,0 +1,75 @@ +using Microsoft.AspNetCore.Mvc; +using Moq; +using NUnit.Framework; +using Umbraco.Core.Logging; +using Umbraco.Web.Website.ViewEngines; + +namespace Umbraco.Tests.Runtimes +{ + [TestFixture] + public class ProfilingViewEngineWrapperMvcViewOptionsSetupTests + { + private ProfilingViewEngineWrapperMvcViewOptionsSetup Sut => + new ProfilingViewEngineWrapperMvcViewOptionsSetup(Mock.Of()); + [Test] + public void WrapViewEngines_HasEngines_WrapsAll() + { + var options = new MvcViewOptions() + { + ViewEngines = + { + Mock.Of(), + Mock.Of(), + } + }; + + Sut.Configure(options); + + Assert.That(options.ViewEngines.Count, Is.EqualTo(2)); + Assert.That(options.ViewEngines[0], Is.InstanceOf()); + Assert.That(options.ViewEngines[1], Is.InstanceOf()); + } + + [Test] + public void WrapViewEngines_HasEngines_KeepsSortOrder() + { + var options = new MvcViewOptions() + { + ViewEngines = + { + Mock.Of(), + Mock.Of(), + } + }; + + Sut.Configure(options); + + Assert.That(options.ViewEngines.Count, Is.EqualTo(2)); + Assert.That(((ProfilingViewEngine)options.ViewEngines[0]).Inner, Is.InstanceOf()); + Assert.That(((ProfilingViewEngine)options.ViewEngines[1]).Inner, Is.InstanceOf()); + } + + [Test] + public void WrapViewEngines_HasProfiledEngine_AddsSameInstance() + { + var profiledEngine = new ProfilingViewEngine(Mock.Of(), Mock.Of()); + var options = new MvcViewOptions() + { + ViewEngines = + { + profiledEngine + } + }; + + Sut.Configure(options); + + Assert.That(options.ViewEngines[0], Is.SameAs(profiledEngine)); + } + + [Test] + public void WrapViewEngines_CollectionIsNull_DoesNotThrow() + { + Assert.DoesNotThrow(() => Sut.Configure(new MvcViewOptions())); + } + } +} diff --git a/src/Umbraco.Tests/Cache/DistributedCacheBinderTests.cs b/src/Umbraco.Tests/Cache/DistributedCacheBinderTests.cs index 1632944895..3598c75cf7 100644 --- a/src/Umbraco.Tests/Cache/DistributedCacheBinderTests.cs +++ b/src/Umbraco.Tests/Cache/DistributedCacheBinderTests.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading; using Moq; using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Events; @@ -30,7 +31,7 @@ namespace Umbraco.Tests.Cache base.Compose(composition); // refreshers.HandleEvents wants a UmbracoContext // which wants these - composition.RegisterUnique(_ => Mock.Of()); + composition.Services.AddUnique(_ => Mock.Of()); composition.WithCollectionBuilder(); } diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs index c5333ea524..27bc7dd5a3 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Xml; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -56,7 +57,7 @@ namespace Umbraco.Tests.Cache.PublishedCache _httpContextFactory = new FakeHttpContextFactory("~/Home"); var globalSettings = new GlobalSettings(); - var umbracoContextAccessor = Factory.GetInstance(); + var umbracoContextAccessor = Factory.GetRequiredService(); _xml = new XmlDocument(); _xml.LoadXml(GetXml()); @@ -65,7 +66,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var domainCache = new DomainCache(Mock.Of(), DefaultCultureAccessor); var publishedShapshot = new PublishedSnapshot( new PublishedContentCache(xmlStore, domainCache, appCache, globalSettings, ContentTypesCache, null, VariationContextAccessor, null), - new PublishedMediaCache(xmlStore, Mock.Of(), Mock.Of(), appCache, ContentTypesCache, Factory.GetInstance(), umbracoContextAccessor, VariationContextAccessor), + new PublishedMediaCache(xmlStore, Mock.Of(), Mock.Of(), appCache, ContentTypesCache, Factory.GetRequiredService(), umbracoContextAccessor, VariationContextAccessor), new PublishedMemberCache(null, appCache, Mock.Of(), ContentTypesCache, Mock.Of(), VariationContextAccessor), domainCache); var publishedSnapshotService = new Mock(); diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs index 20f6892e0c..cfcf7a82d8 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Xml; using Examine; +using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; @@ -81,7 +82,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var mChild2 = MakeNewMedia("Child2", mType, user, mRoot2.Id); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(new XmlStore((XmlDocument) null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + var cache = new PublishedMediaCache(new XmlStore((XmlDocument) null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var roots = cache.GetAtRoot(); Assert.AreEqual(2, roots.Count()); Assert.IsTrue(roots.Select(x => x.Id).ContainsAll(new[] {mRoot1.Id, mRoot2.Id})); @@ -99,7 +100,7 @@ namespace Umbraco.Tests.Cache.PublishedCache //var publishedMedia = PublishedMediaTests.GetNode(mRoot.Id, GetUmbracoContext("/test", 1234)); var umbracoContext = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var publishedMedia = cache.GetById(mRoot.Id); Assert.IsNotNull(publishedMedia); @@ -210,7 +211,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var result = new SearchResult("1234", 1, () => fields.ToDictionary(x => x.Key, x => new List { x.Value })); - var store = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + var store = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var doc = store.CreateFromCacheValues(store.ConvertFromSearchResult(result)); DoAssert(doc, 1234, key, null, 0, "/media/test.jpg", "Image", 23, "Shannon", "Shannon", "-1,1234", DateTime.Parse("2012-07-17T10:34:09"), DateTime.Parse("2012-07-16T10:34:09"), 2); @@ -226,7 +227,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var xmlDoc = GetMediaXml(); ((XmlElement)xmlDoc.DocumentElement.FirstChild).SetAttribute("key", key.ToString()); var navigator = xmlDoc.SelectSingleNode("/root/Image").CreateNavigator(); - var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(),VariationContextAccessor); + var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(),VariationContextAccessor); var doc = cache.CreateFromCacheValues(cache.ConvertFromXPathNavigator(navigator, true)); DoAssert(doc, 2000, key, null, 2, "image1", "Image", 23, "Shannon", "Shannon", "-1,2000", DateTime.Parse("2012-06-12T14:13:17"), DateTime.Parse("2012-07-20T18:50:43"), 1); diff --git a/src/Umbraco.Tests/IO/FileSystemsTests.cs b/src/Umbraco.Tests/IO/FileSystemsTests.cs index d35f950e75..8623b015a4 100644 --- a/src/Umbraco.Tests/IO/FileSystemsTests.cs +++ b/src/Umbraco.Tests/IO/FileSystemsTests.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Text; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -15,6 +16,7 @@ using Umbraco.Core.IO.MediaPathSchemes; using Umbraco.Core.Logging; using Umbraco.Core.Services; using Umbraco.Tests.TestHelpers; +using Umbraco.Web; using FileSystems = Umbraco.Core.IO.FileSystems; namespace Umbraco.Tests.IO @@ -22,32 +24,39 @@ namespace Umbraco.Tests.IO [TestFixture] public class FileSystemsTests { - private IRegister _register; - private IFactory _factory; + private IServiceCollection _register; + private IServiceProvider _factory; [SetUp] public void Setup() { _register = TestHelper.GetRegister(); - var composition = new Composition(_register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition( + _register, + TestHelper.GetMockedTypeLoader(), + Mock.Of(), + Mock.Of(), + TestHelper.IOHelper, + AppCaches.NoCache + ); - composition.Register(_ => Mock.Of()); - composition.Register(NullLoggerFactory.Instance); - composition.Register(typeof(ILogger<>), typeof(Logger<>)); - composition.Register(_ => TestHelper.ShortStringHelper); - composition.Register(_ => TestHelper.IOHelper); - composition.RegisterUnique(); - composition.RegisterUnique(TestHelper.IOHelper); - composition.RegisterUnique(TestHelper.GetHostingEnvironment()); + composition.Services.AddTransient(_ => Mock.Of()); + composition.Services.AddTransient(); + composition.Services.AddTransient(typeof(ILogger<>), typeof(Logger<>)); + composition.Services.AddTransient(_ => TestHelper.ShortStringHelper); + composition.Services.AddTransient(_ => TestHelper.IOHelper); + composition.Services.AddUnique(); + composition.Services.AddUnique(TestHelper.IOHelper); + composition.Services.AddUnique(TestHelper.GetHostingEnvironment()); var globalSettings = new GlobalSettings(); - composition.Register(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); + composition.Services.AddScoped(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); composition.ComposeFileSystems(); - _factory = composition.CreateFactory(); + _factory = composition.CreateServiceProvider(); // make sure we start clean // because some tests will create corrupt or weird filesystems @@ -63,34 +72,34 @@ namespace Umbraco.Tests.IO _register.DisposeIfDisposable(); } - private FileSystems FileSystems => _factory.GetInstance(); + private FileSystems FileSystems => _factory.GetRequiredService(); [Test] public void Can_Get_MediaFileSystem() { - var fileSystem = _factory.GetInstance(); + var fileSystem = _factory.GetRequiredService(); Assert.NotNull(fileSystem); } [Test] public void Can_Get_IMediaFileSystem() { - var fileSystem = _factory.GetInstance(); + var fileSystem = _factory.GetRequiredService(); Assert.NotNull(fileSystem); } [Test] public void IMediaFileSystem_Is_Singleton() { - var fileSystem1 = _factory.GetInstance(); - var fileSystem2 = _factory.GetInstance(); + var fileSystem1 = _factory.GetRequiredService(); + var fileSystem2 = _factory.GetRequiredService(); Assert.AreSame(fileSystem1, fileSystem2); } [Test] public void Can_Unwrap_MediaFileSystem() { - var fileSystem = _factory.GetInstance(); + var fileSystem = _factory.GetRequiredService(); var unwrapped = fileSystem.Unwrap(); Assert.IsNotNull(unwrapped); var physical = unwrapped as PhysicalFileSystem; @@ -100,13 +109,13 @@ namespace Umbraco.Tests.IO [Test] public void Can_Delete_MediaFiles() { - var fs = _factory.GetInstance(); + var fs = _factory.GetRequiredService(); var ms = new MemoryStream(Encoding.UTF8.GetBytes("test")); var virtPath = fs.GetMediaPath("file.txt", Guid.NewGuid(), Guid.NewGuid()); fs.AddFile(virtPath, ms); // ~/media/1234/file.txt exists - var ioHelper = _factory.GetInstance(); + var ioHelper = _factory.GetRequiredService(); var physPath = ioHelper.MapPath(Path.Combine("media", virtPath)); Assert.IsTrue(File.Exists(physPath)); @@ -114,7 +123,7 @@ namespace Umbraco.Tests.IO fs.DeleteMediaFiles(new[] { virtPath }); Assert.IsFalse(File.Exists(physPath)); - var scheme = _factory.GetInstance(); + var scheme = _factory.GetRequiredService(); if (scheme is UniqueMediaPathScheme) { // ~/media/1234 is *not* gone diff --git a/src/Umbraco.Tests/IO/ShadowFileSystemTests.cs b/src/Umbraco.Tests/IO/ShadowFileSystemTests.cs index 39052b7894..04900abaf0 100644 --- a/src/Umbraco.Tests/IO/ShadowFileSystemTests.cs +++ b/src/Umbraco.Tests/IO/ShadowFileSystemTests.cs @@ -402,7 +402,7 @@ namespace Umbraco.Tests.IO var phy = new PhysicalFileSystem(_ioHelper, _hostingEnvironment, _logger, path, "ignore"); - var container = Mock.Of(); + var container = Mock.Of(); var globalSettings = Options.Create(new GlobalSettings()); var fileSystems = new FileSystems(container, Mock.Of>(), loggerFactory, _ioHelper, globalSettings, _hostingEnvironment) { IsScoped = () => scopedFileSystems }; var fs = fileSystems.GetFileSystem(phy); @@ -495,7 +495,7 @@ namespace Umbraco.Tests.IO var phy = new PhysicalFileSystem(_ioHelper, _hostingEnvironment, _logger, path, "ignore"); - var container = Mock.Of(); + var container = Mock.Of(); var globalSettings = Options.Create(new GlobalSettings()); var fileSystems = new FileSystems(container, Mock.Of>(), NullLoggerFactory.Instance, _ioHelper, globalSettings, _hostingEnvironment) { IsScoped = () => scopedFileSystems }; var fs = fileSystems.GetFileSystem( phy); @@ -547,7 +547,7 @@ namespace Umbraco.Tests.IO var phy = new PhysicalFileSystem(_ioHelper, _hostingEnvironment, _logger, path, "ignore"); - var container = Mock.Of(); + var container = Mock.Of(); var globalSettings = Options.Create(new GlobalSettings()); var fileSystems = new FileSystems(container, Mock.Of>(), NullLoggerFactory.Instance, _ioHelper, globalSettings, _hostingEnvironment) { IsScoped = () => scopedFileSystems }; var fs = fileSystems.GetFileSystem( phy); diff --git a/src/Umbraco.Tests/Issues/U9560.cs b/src/Umbraco.Tests/Issues/U9560.cs index c750201b0c..5ce89a583b 100644 --- a/src/Umbraco.Tests/Issues/U9560.cs +++ b/src/Umbraco.Tests/Issues/U9560.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Persistence; @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Issues var aliasName = string.Empty; // read fields, same as what we do with PetaPoco Fetch - using (var db = Factory.GetInstance().CreateDatabase()) + using (var db = Factory.GetRequiredService().CreateDatabase()) { db.OpenSharedConnection(); try @@ -55,7 +56,7 @@ namespace Umbraco.Tests.Issues Assert.AreEqual("Alias", aliasName); // try differently - using (var db = Factory.GetInstance().CreateDatabase()) + using (var db = Factory.GetRequiredService().CreateDatabase()) { db.OpenSharedConnection(); try diff --git a/src/Umbraco.Tests/Models/ContentXmlTest.cs b/src/Umbraco.Tests/Models/ContentXmlTest.cs index 70307b9bad..c512ac21c2 100644 --- a/src/Umbraco.Tests/Models/ContentXmlTest.cs +++ b/src/Umbraco.Tests/Models/ContentXmlTest.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Xml.Linq; +using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Services; @@ -29,7 +30,7 @@ namespace Umbraco.Tests.Models var urlName = content.GetUrlSegment(ShortStringHelper, new[]{new DefaultUrlSegmentProvider(ShortStringHelper) }); // Act - XElement element = content.ToXml(Factory.GetInstance()); + XElement element = content.ToXml(Factory.GetRequiredService()); // Assert Assert.That(element, Is.Not.Null); diff --git a/src/Umbraco.Tests/Models/MediaXmlTest.cs b/src/Umbraco.Tests/Models/MediaXmlTest.cs index 646dc7f2a0..92fd58d23c 100644 --- a/src/Umbraco.Tests/Models/MediaXmlTest.cs +++ b/src/Umbraco.Tests/Models/MediaXmlTest.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Xml.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -51,7 +52,7 @@ namespace Umbraco.Tests.Models var urlName = media.GetUrlSegment(ShortStringHelper, new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }); // Act - XElement element = media.ToXml(Factory.GetInstance()); + XElement element = media.ToXml(Factory.GetRequiredService()); // Assert Assert.That(element, Is.Not.Null); diff --git a/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs b/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs index 6aaab9a698..c94f9f5403 100644 --- a/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs +++ b/src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Threading; using System.Xml.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using NUnit.Framework; @@ -72,7 +73,7 @@ namespace Umbraco.Tests.Packaging Composition.ComposeFileSystems(); } - private PackageDataInstallation PackageDataInstallation => Factory.GetInstance(); + private PackageDataInstallation PackageDataInstallation => Factory.GetRequiredService(); [Test] public void Can_Import_uBlogsy_ContentTypes_And_Verify_Structure() @@ -425,7 +426,7 @@ namespace Umbraco.Tests.Packaging string strXml = ImportResources.SingleDocType; var docTypeElement = XElement.Parse(strXml); - var serializer = Factory.GetInstance(); + var serializer = Factory.GetRequiredService(); // Act var contentTypes = PackageDataInstallation.ImportDocumentType(docTypeElement, 0); diff --git a/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs b/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs index 4dfc3503aa..e6816ba779 100644 --- a/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs +++ b/src/Umbraco.Tests/Packaging/PackageInstallationTest.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -55,11 +56,11 @@ namespace Umbraco.Tests.Packaging NullLoggerFactory.Instance.CreateLogger(), NullLoggerFactory.Instance, ServiceContext.FileService, ServiceContext.MacroService, ServiceContext.LocalizationService, ServiceContext.DataTypeService, ServiceContext.EntityService, ServiceContext.ContentTypeService, ServiceContext.ContentService, - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), Microsoft.Extensions.Options.Options.Create(new GlobalSettings()), - Factory.GetInstance()); + Factory.GetRequiredService()); private IPackageInstallation PackageInstallation => new PackageInstallation( PackageDataInstallation, diff --git a/src/Umbraco.Tests/Published/ConvertersTests.cs b/src/Umbraco.Tests/Published/ConvertersTests.cs index 3ddefd9fa5..428011f243 100644 --- a/src/Umbraco.Tests/Published/ConvertersTests.cs +++ b/src/Umbraco.Tests/Published/ConvertersTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -17,6 +18,7 @@ using Umbraco.Core.Services; using Umbraco.Core.Strings; using Umbraco.Tests.PublishedContent; using Umbraco.Tests.TestHelpers; +using Umbraco.Web; using Umbraco.Web.PublishedCache; namespace Umbraco.Tests.Published @@ -32,7 +34,14 @@ namespace Umbraco.Tests.Published // Current.Reset(); var register = TestHelper.GetRegister(); - var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), Mock.Of(), AppCaches.NoCache); + var composition = new Composition( + register, + TestHelper.GetMockedTypeLoader(), + Mock.Of(), + Mock.Of(), + Mock.Of(), + AppCaches.NoCache + ); composition.WithCollectionBuilder() .Append() @@ -43,9 +52,9 @@ namespace Umbraco.Tests.Published typeof (PublishedSnapshotTestObjects.TestElementModel1), typeof (PublishedSnapshotTestObjects.TestElementModel2), typeof (PublishedSnapshotTestObjects.TestContentModel1), typeof (PublishedSnapshotTestObjects.TestContentModel2), }, Mock.Of()); - register.Register(f => factory); + register.AddTransient(f => factory); - var registerFactory = composition.CreateFactory(); + var cacheMock = new Mock(); var cacheContent = new Dictionary(); @@ -54,9 +63,10 @@ namespace Umbraco.Tests.Published publishedSnapshotMock.Setup(x => x.Content).Returns(cacheMock.Object); var publishedSnapshotAccessorMock = new Mock(); publishedSnapshotAccessorMock.Setup(x => x.PublishedSnapshot).Returns(publishedSnapshotMock.Object); - register.Register(f => publishedSnapshotAccessorMock.Object); + register.AddTransient(f => publishedSnapshotAccessorMock.Object); - var converters = registerFactory.GetInstance(); + var registerFactory = composition.CreateServiceProvider(); + var converters = registerFactory.GetRequiredService(); var dataTypeServiceMock = new Mock(); var dataType1 = new DataType(new VoidEditor(NullLoggerFactory.Instance, dataTypeServiceMock.Object, @@ -93,7 +103,7 @@ namespace Umbraco.Tests.Published Properties = new[] { new SolidPublishedProperty { Alias = "prop2", SolidHasValue = true, SolidValue = "1003" } } }; - var publishedModelFactory = registerFactory.GetInstance(); + var publishedModelFactory = registerFactory.GetRequiredService(); cacheContent[cnt1.Id] = cnt1.CreateModel(publishedModelFactory); cacheContent[cnt2.Id] = cnt2.CreateModel(publishedModelFactory); diff --git a/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs b/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs index 72f7d0e46c..55c56348a4 100644 --- a/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs +++ b/src/Umbraco.Tests/PublishedContent/NuCacheChildrenTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -54,14 +55,12 @@ namespace Umbraco.Tests.PublishedContent private void Init(Func> kits) { - Current.Reset(); - - var factory = Mock.Of(); + var factory = Mock.Of(); Current.Factory = factory; var hostingEnvironment = Mock.Of(); - Mock.Get(factory).Setup(x => x.GetInstance(typeof(IPublishedModelFactory))).Returns(PublishedModelFactory); + Mock.Get(factory).Setup(x => x.GetService(typeof(IPublishedModelFactory))).Returns(PublishedModelFactory); var runtime = Mock.Of(); Mock.Get(runtime).Setup(x => x.Level).Returns(RuntimeLevel.Run); @@ -172,7 +171,7 @@ namespace Umbraco.Tests.PublishedContent // invariant is the current default _variationAccesor.VariationContext = new VariationContext(); - Mock.Get(factory).Setup(x => x.GetInstance(typeof(IVariationContextAccessor))).Returns(_variationAccesor); + Mock.Get(factory).Setup(x => x.GetService(typeof(IVariationContextAccessor))).Returns(_variationAccesor); } private IEnumerable GetNestedVariantKits() diff --git a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs index 6b97f4d1ed..56f5804f12 100644 --- a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs +++ b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -47,13 +48,12 @@ namespace Umbraco.Tests.PublishedContent private void Init() { - Current.Reset(); - - var factory = Mock.Of(); + var factory = Mock.Of(); Current.Factory = factory; var publishedModelFactory = new NoopPublishedModelFactory(); - Mock.Get(factory).Setup(x => x.GetInstance(typeof(IPublishedModelFactory))).Returns(publishedModelFactory); + Mock.Get(factory).Setup(x => x.GetService(typeof(IPublishedModelFactory))).Returns(publishedModelFactory); + Mock.Get(factory).Setup(x => x.GetService(typeof(IPublishedValueFallback))).Returns(new NoopPublishedValueFallback()); // create a content node kit var kit = new ContentNodeKit @@ -212,7 +212,7 @@ namespace Umbraco.Tests.PublishedContent // invariant is the current default _variationAccesor.VariationContext = new VariationContext(); - Mock.Get(factory).Setup(x => x.GetInstance(typeof(IVariationContextAccessor))).Returns(_variationAccesor); + Mock.Get(factory).Setup(x => x.GetService(typeof(IVariationContextAccessor))).Returns(_variationAccesor); } [Test] diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs index d02a49385d..547e7a637f 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentLanguageVariantTests.cs @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; using System.Linq; using Moq; using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; @@ -23,7 +24,7 @@ namespace Umbraco.Tests.PublishedContent { base.Compose(); - Composition.RegisterUnique(_ => GetServiceContext()); + Composition.Services.AddUnique(_ => GetServiceContext()); } protected ServiceContext GetServiceContext() diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs index 52378535a0..aa3d0d4b22 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs @@ -2,6 +2,7 @@ using System.IO; using System.Linq; using System.Web.Routing; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -43,7 +44,7 @@ namespace Umbraco.Tests.PublishedContent { base.Compose(); - Composition.RegisterUnique(f => new PublishedModelFactory(f.GetInstance().GetTypes(), f.GetInstance())); + Composition.Services.AddUnique(f => new PublishedModelFactory(f.GetRequiredService().GetTypes(), f.GetRequiredService())); } protected override TypeLoader CreateTypeLoader(IIOHelper ioHelper, ITypeFinder typeFinder, IAppPolicyCache runtimeCache, ILogger logger, IProfilingLogger profilingLogger , IHostingEnvironment hostingEnvironment) @@ -84,13 +85,6 @@ namespace Umbraco.Tests.PublishedContent return umbracoContext; } - public override void TearDown() - { - base.TearDown(); - - Current.Reset(); - } - private SolidPublishedSnapshot CreatePublishedSnapshot() { var dataTypeService = new TestObjects.TestDataTypeService( diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs index 058cda093e..c4bcd86e36 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs @@ -17,6 +17,7 @@ using Umbraco.Web.Templates; using Umbraco.Web.Routing; using Umbraco.Core.Media; using System; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Tests.PublishedContent { @@ -43,7 +44,7 @@ namespace Umbraco.Tests.PublishedContent { base.Initialize(); - var converters = Factory.GetInstance(); + var converters = Factory.GetRequiredService(); var umbracoContextAccessor = Mock.Of(); var publishedUrlProvider = Mock.Of(); var loggerFactory = NullLoggerFactory.Instance; diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs index 982be79a33..50889bacd9 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; @@ -42,11 +43,11 @@ namespace Umbraco.Tests.PublishedContent { base.Compose(); _publishedSnapshotAccessorMock = new Mock(); - Composition.RegisterUnique(_publishedSnapshotAccessorMock.Object); + Composition.Services.AddUnique(_publishedSnapshotAccessorMock.Object); - Composition.RegisterUnique(f => new PublishedModelFactory(f.GetInstance().GetTypes(), f.GetInstance())); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(f => new PublishedModelFactory(f.GetRequiredService().GetTypes(), f.GetRequiredService())); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); var loggerFactory = NullLoggerFactory.Instance; var mediaService = Mock.Of(); @@ -66,14 +67,14 @@ namespace Umbraco.Tests.PublishedContent new DataType(new IntegerPropertyEditor(loggerFactory, Mock.Of(), localizationService, ShortStringHelper, LocalizedTextService)) { Id = 1003 }, new DataType(new TextboxPropertyEditor(loggerFactory, Mock.Of(), localizationService, IOHelper, ShortStringHelper, LocalizedTextService)) { Id = 1004 }, new DataType(new MediaPickerPropertyEditor(loggerFactory, Mock.Of(), localizationService, IOHelper, ShortStringHelper, LocalizedTextService)) { Id = 1005 }); - Composition.RegisterUnique(f => dataTypeService); + Composition.Services.AddUnique(f => dataTypeService); } protected override void Initialize() { base.Initialize(); - var factory = Factory.GetInstance() as PublishedContentTypeFactory; + var factory = Factory.GetRequiredService() as PublishedContentTypeFactory; // need to specify a custom callback for unit tests // AutoPublishedContentTypes generates properties automatically @@ -904,7 +905,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void FragmentProperty() { - var factory = Factory.GetInstance() as PublishedContentTypeFactory; + var factory = Factory.GetRequiredService() as PublishedContentTypeFactory; IEnumerable CreatePropertyTypes(IPublishedContentType contentType) { @@ -928,7 +929,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Fragment2() { - var factory = Factory.GetInstance() as PublishedContentTypeFactory; + var factory = Factory.GetRequiredService() as PublishedContentTypeFactory; IEnumerable CreatePropertyTypes(IPublishedContentType contentType) { diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index 854e24d162..c53cbea9e9 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -12,6 +12,7 @@ using System.Linq; using System.Threading; using System.Xml; using Examine; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Cache; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Strings; @@ -46,7 +47,7 @@ namespace Umbraco.Tests.PublishedContent .Clear() .Append(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); } private IMediaType MakeNewMediaType(IUser user, string text, int parentId = -1) @@ -72,7 +73,7 @@ namespace Umbraco.Tests.PublishedContent { var cache = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, - Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var doc = cache.GetById(id); Assert.IsNotNull(doc); return doc; @@ -117,7 +118,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Ensure_Children_Sorted_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -129,7 +130,7 @@ namespace Umbraco.Tests.PublishedContent var searcher = indexer.GetSearcher(); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(1111); @@ -146,7 +147,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Do_Not_Find_In_Recycle_Bin() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -159,7 +160,7 @@ namespace Umbraco.Tests.PublishedContent var searcher = indexer.GetSearcher(); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //ensure it is found var publishedMedia = cache.GetById(3113); @@ -194,7 +195,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Children_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -206,7 +207,7 @@ namespace Umbraco.Tests.PublishedContent var searcher = indexer.GetSearcher(); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(1111); @@ -222,7 +223,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Descendants_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -234,7 +235,7 @@ namespace Umbraco.Tests.PublishedContent var searcher = indexer.GetSearcher(); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(1111); @@ -250,7 +251,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void DescendantsOrSelf_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -262,7 +263,7 @@ namespace Umbraco.Tests.PublishedContent var searcher = indexer.GetSearcher(); var ctx = GetUmbracoContext("/test"); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(1111); @@ -278,7 +279,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void Ancestors_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) @@ -291,7 +292,7 @@ namespace Umbraco.Tests.PublishedContent var ctx = GetUmbracoContext("/test"); var searcher = indexer.GetSearcher(); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(3113); @@ -304,7 +305,7 @@ namespace Umbraco.Tests.PublishedContent [Test] public void AncestorsOrSelf_With_Examine() { - var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var rebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -317,7 +318,7 @@ namespace Umbraco.Tests.PublishedContent var ctx = GetUmbracoContext("/test"); var searcher = indexer.GetSearcher(); - var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance()); + var cache = new PublishedMediaCache(ServiceContext.MediaService, ServiceContext.UserService, searcher, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService()); //we are using the media.xml media to test the examine results implementation, see the media.xml file in the ExamineHelpers namespace var publishedMedia = cache.GetById(3113); @@ -485,7 +486,7 @@ namespace Umbraco.Tests.PublishedContent "); var node = xml.DescendantsAndSelf("Image").Single(x => (int)x.Attribute("id") == nodeId); - var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var nav = node.CreateNavigator(); @@ -505,7 +506,7 @@ namespace Umbraco.Tests.PublishedContent var errorXml = new XElement("error", string.Format("No media is maching '{0}'", 1234)); var nav = errorXml.CreateNavigator(); - var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetInstance(), Factory.GetInstance(), VariationContextAccessor); + var publishedMedia = new PublishedMediaCache(new XmlStore((XmlDocument)null, null, null, null, HostingEnvironment), ServiceContext.MediaService, ServiceContext.UserService, new DictionaryAppCache(), ContentTypesCache, Factory.GetRequiredService(), Factory.GetRequiredService(), VariationContextAccessor); var converted = publishedMedia.ConvertFromXPathNodeIterator(nav.Select("/"), 1234); Assert.IsNull(converted); diff --git a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs b/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs deleted file mode 100644 index 342aa99b47..0000000000 --- a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections.Generic; -using NUnit.Framework; -using Umbraco.Core; -using Umbraco.Core.Events; -using Umbraco.Core.Models; -using Umbraco.Tests.TestHelpers; -using Umbraco.Tests.TestHelpers.Entities; -using System.Linq; -using Microsoft.Extensions.DependencyInjection; -using Umbraco.Core.Services; -using Umbraco.Tests.Testing; - -namespace Umbraco.Tests.Publishing -{ - [TestFixture] - [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class PublishingStrategyTests : TestWithDatabaseBase - { - private IContent _homePage; - - [NUnit.Framework.Ignore("fixme - ignored test")] - [Test] - public void Can_Publish_And_Update_Xml_Cache() - { - // TODO: Create new test - } - - public IEnumerable CreateTestData() - { - //NOTE Maybe not the best way to create/save test data as we are using the services, which are being tested. - - //Create and Save ContentType "umbTextpage" -> 1045 - ContentType contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - ServiceContext.ContentTypeService.Save(contentType); - var mandatoryType = MockedContentTypes.CreateSimpleContentType("umbMandatory", "Mandatory Doc Type", true); - //ServiceContext.FileService.SaveTemplate(mandatoryType.DefaultTemplate); // else, FK violation on contentType! - ServiceContext.ContentTypeService.Save(mandatoryType); - - //Create and Save Content "Homepage" based on "umbTextpage" -> 1046 - _homePage = MockedContent.CreateSimpleContent(contentType); - ServiceContext.ContentService.Save(_homePage, 0); - - //Create and Save Content "Text Page 1" based on "umbTextpage" -> 1047 - Content subpage = MockedContent.CreateSimpleContent(contentType, "Text Page 1", _homePage.Id); - ServiceContext.ContentService.Save(subpage, 0); - - //Create and Save Content "Text Page 2" based on "umbTextpage" -> 1048 - Content subpage2 = MockedContent.CreateSimpleContent(contentType, "Text Page 2", _homePage.Id); - ServiceContext.ContentService.Save(subpage2, 0); - - //Create and Save Content "Text Page 3" based on "umbTextpage" -> 1048 - Content subpage3 = MockedContent.CreateSimpleContent(contentType, "Text Page 3", subpage2.Id); - ServiceContext.ContentService.Save(subpage3, 0); - - return new[] {_homePage, subpage, subpage2, subpage3}; - } - } -} diff --git a/src/Umbraco.Tests/Routing/BaseUrlProviderTest.cs b/src/Umbraco.Tests/Routing/BaseUrlProviderTest.cs index 9860b5739f..84e22c7760 100644 --- a/src/Umbraco.Tests/Routing/BaseUrlProviderTest.cs +++ b/src/Umbraco.Tests/Routing/BaseUrlProviderTest.cs @@ -1,4 +1,5 @@ using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Moq; using Umbraco.Core; using Umbraco.Core.Configuration.Models; @@ -19,7 +20,7 @@ namespace Umbraco.Tests.Routing protected override void Compose() { base.Compose(); - Composition.Register(); + Composition.Services.AddTransient(); } protected override void ComposeSettings() @@ -27,8 +28,8 @@ namespace Umbraco.Tests.Routing var contentSettings = new ContentSettings(); var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings(); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); } protected IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider) diff --git a/src/Umbraco.Tests/Routing/ContentFinderByIdTests.cs b/src/Umbraco.Tests/Routing/ContentFinderByIdTests.cs index a21b36dcf5..deb5ac30bf 100644 --- a/src/Umbraco.Tests/Routing/ContentFinderByIdTests.cs +++ b/src/Umbraco.Tests/Routing/ContentFinderByIdTests.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +using Microsoft.Extensions.DependencyInjection; +using NUnit.Framework; using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Configuration.Models; @@ -20,7 +21,7 @@ namespace Umbraco.Tests.Routing var publishedRouter = CreatePublishedRouter(); var frequest = publishedRouter.CreateRequest(umbracoContext); var webRoutingSettings = new WebRoutingSettings(); - var lookup = new ContentFinderByIdPath(Microsoft.Extensions.Options.Options.Create(webRoutingSettings), LoggerFactory.CreateLogger(), Factory.GetInstance()); + var lookup = new ContentFinderByIdPath(Microsoft.Extensions.Options.Options.Create(webRoutingSettings), LoggerFactory.CreateLogger(), Factory.GetRequiredService()); var result = lookup.TryFindContent(frequest); diff --git a/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs b/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs index 73ca7ba03c..edcbf858e2 100644 --- a/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs +++ b/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +using Microsoft.Extensions.DependencyInjection; +using NUnit.Framework; using Microsoft.Extensions.Logging; using Umbraco.Core.Models; using Umbraco.Web.Routing; @@ -14,7 +15,7 @@ namespace Umbraco.Tests.Routing { base.Compose(); - Composition.Register(); + Composition.Services.AddTransient(); } private void SetDomains1() diff --git a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs index d74a8c68fe..b3663738dd 100644 --- a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs +++ b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Web.Mvc; using System.Web.Routing; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -47,14 +48,14 @@ namespace Umbraco.Tests.Routing new TestUmbracoContextAccessor(), TestObjects.GetGlobalSettings(), ShortStringHelper, - new SurfaceControllerTypeCollection(Enumerable.Empty()), + // new SurfaceControllerTypeCollection(Enumerable.Empty()), new UmbracoApiControllerTypeCollection(Enumerable.Empty()), HostingEnvironment); } - public class TestRuntime : CoreRuntime + public class TestRuntimeBootstrapper : CoreRuntimeBootstrapper { - public TestRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) + public TestRuntimeBootstrapper(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) : base(globalSettings, connectionStrings,umbracoVersion, ioHelper, NullLoggerFactory.Instance, Mock.Of(), new AspNetUmbracoBootPermissionChecker(), hostingEnvironment, backOfficeInfo, TestHelper.DbProviderFactoryCreator, TestHelper.MainDom, TestHelper.GetTypeFinder(), AppCaches.NoCache) { } @@ -68,14 +69,14 @@ namespace Umbraco.Tests.Routing // set the default RenderMvcController Current.DefaultRenderMvcControllerType = typeof(RenderMvcController); // FIXME: Wrong! - var surfaceControllerTypes = new SurfaceControllerTypeCollection(Composition.TypeLoader.GetSurfaceControllers()); - Composition.RegisterUnique(surfaceControllerTypes); + // var surfaceControllerTypes = new SurfaceControllerTypeCollection(Composition.TypeLoader.GetSurfaceControllers()); + // Composition.Services.AddUnique(surfaceControllerTypes); var umbracoApiControllerTypes = new UmbracoApiControllerTypeCollection(Composition.TypeLoader.GetUmbracoApiControllers()); - Composition.RegisterUnique(umbracoApiControllerTypes); + Composition.Services.AddUnique(umbracoApiControllerTypes); var requestHandlerSettings = new RequestHandlerSettings(); - Composition.RegisterUnique(_ => new DefaultShortStringHelper(Microsoft.Extensions.Options.Options.Create(requestHandlerSettings))); + Composition.Services.AddUnique(_ => new DefaultShortStringHelper(Microsoft.Extensions.Options.Options.Create(requestHandlerSettings))); } public override void TearDown() @@ -155,12 +156,12 @@ namespace Umbraco.Tests.Routing var handler = new RenderRouteHandler(umbracoContext, new TestControllerFactory(umbracoContextAccessor, Mock.Of>(), context => { - return new CustomDocumentController(Factory.GetInstance>(), + return new CustomDocumentController(Factory.GetRequiredService>(), umbracoContextAccessor, - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance()); + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService()); }), ShortStringHelper); handler.GetHandlerForRoute(httpContext.Request.RequestContext, frequest); diff --git a/src/Umbraco.Tests/Routing/UrlProviderWithHideTopLevelNodeFromPathTests.cs b/src/Umbraco.Tests/Routing/UrlProviderWithHideTopLevelNodeFromPathTests.cs index 3ef99f203f..eba88383e7 100644 --- a/src/Umbraco.Tests/Routing/UrlProviderWithHideTopLevelNodeFromPathTests.cs +++ b/src/Umbraco.Tests/Routing/UrlProviderWithHideTopLevelNodeFromPathTests.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using Microsoft.Extensions.Logging; +using Umbraco.Core; using Umbraco.Core.Configuration.Models; using Umbraco.Tests.Common; using Umbraco.Tests.Testing; @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Routing protected override void ComposeSettings() { base.ComposeSettings(); - Composition.RegisterUnique(x => Microsoft.Extensions.Options.Options.Create(_globalSettings)); + Composition.Services.AddUnique(x => Microsoft.Extensions.Options.Options.Create(_globalSettings)); } [TestCase(1046, "/")] diff --git a/src/Umbraco.Tests/Routing/UrlProviderWithoutHideTopLevelNodeFromPathTests.cs b/src/Umbraco.Tests/Routing/UrlProviderWithoutHideTopLevelNodeFromPathTests.cs index 79a946f5e3..9e0d311188 100644 --- a/src/Umbraco.Tests/Routing/UrlProviderWithoutHideTopLevelNodeFromPathTests.cs +++ b/src/Umbraco.Tests/Routing/UrlProviderWithoutHideTopLevelNodeFromPathTests.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using NUnit.Framework; @@ -33,7 +34,7 @@ namespace Umbraco.Tests.Routing protected override void ComposeSettings() { base.ComposeSettings(); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(_globalSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(_globalSettings)); } /// diff --git a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs index 7566c5372d..346af19a4c 100644 --- a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs +++ b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs @@ -34,7 +34,7 @@ namespace Umbraco.Tests.Routing { base.Compose(); - Composition.RegisterUnique(_ => GetServiceContext()); + Composition.Services.AddUnique(_ => GetServiceContext()); } protected ServiceContext GetServiceContext() diff --git a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs index 68c002fea3..5fef721dfa 100644 --- a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs +++ b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using NUnit.Framework; @@ -24,8 +25,8 @@ namespace Umbraco.Tests.Routing { base.Compose(); - Composition.RegisterUnique(_ => Mock.Of()); - Composition.Register(); + Composition.Services.AddUnique(_ => Mock.Of()); + Composition.Services.AddTransient(); } void SetDomains1() diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs index 81fe22a698..f367db2123 100644 --- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs +++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Microsoft.Extensions.Logging; @@ -26,8 +27,8 @@ namespace Umbraco.Tests.Routing protected override void Compose() { base.Compose(); - Composition.RegisterUnique(_ => Mock.Of()); - Composition.Register(); + Composition.Services.AddUnique(_ => Mock.Of()); + Composition.Services.AddTransient(); } [Test] diff --git a/src/Umbraco.Tests/Runtimes/CoreRuntimeTests.cs b/src/Umbraco.Tests/Runtimes/CoreRuntimeTests.cs deleted file mode 100644 index ea111a1e29..0000000000 --- a/src/Umbraco.Tests/Runtimes/CoreRuntimeTests.cs +++ /dev/null @@ -1,211 +0,0 @@ -using System; -using System.Collections.Generic; -using Examine; -using Microsoft.Extensions.Options; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Moq; -using NUnit.Framework; -using Umbraco.Core; -using Umbraco.Core.Cache; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Exceptions; -using Umbraco.Core.Hosting; -using Umbraco.Core.IO; -using Umbraco.Core.Logging; -using Umbraco.Core.Persistence; -using Umbraco.Core.Runtime; -using Umbraco.Net; -using Umbraco.Tests.TestHelpers; -using Umbraco.Tests.TestHelpers.Stubs; -using Umbraco.Web; -using Umbraco.Web.Hosting; -using Umbraco.Web.Runtime; -using ConnectionStrings = Umbraco.Core.Configuration.Models.ConnectionStrings; -using Current = Umbraco.Web.Composing.Current; - -namespace Umbraco.Tests.Runtimes -{ - [TestFixture] - public class CoreRuntimeTests - { - [SetUp] - public void SetUp() - { - TestComponent.Reset(); - Current.Reset(); - } - - public void TearDown() - { - TestComponent.Reset(); - } - - [Test] - public void ComponentLifeCycle() - { - using (var app = new TestUmbracoApplication()) - { - app.HandleApplicationStart(app, new EventArgs()); - - var e = app.Runtime.State.BootFailedException; - var m = ""; - switch (e) - { - case null: - m = ""; - break; - case BootFailedException bfe when bfe.InnerException != null: - m = "BootFailed: " + bfe.InnerException.GetType() + " " + bfe.InnerException.Message + " " + bfe.InnerException.StackTrace; - break; - default: - m = e.GetType() + " " + e.Message + " " + e.StackTrace; - break; - } - - Assert.AreNotEqual(RuntimeLevel.BootFailed, app.Runtime.State.Level, m); - Assert.IsTrue(TestComposer.Ctored); - Assert.IsTrue(TestComposer.Composed); - Assert.IsTrue(TestComponent.Ctored); - Assert.IsNotNull(TestComponent.ProfilingLogger); - Assert.IsInstanceOf(TestComponent.ProfilingLogger); - - // note: components are NOT disposed after boot - - Assert.IsFalse(TestComponent.Terminated); - - app.HandleApplicationEnd(); - Assert.IsTrue(TestComponent.Terminated); - } - } - - // test application - public class TestUmbracoApplication : UmbracoApplicationBase - { - public TestUmbracoApplication() : base(new NullLogger(), - NullLoggerFactory.Instance, - new SecuritySettings(), - new GlobalSettings(), - new ConnectionStrings(), - _ioHelper, _profiler, new AspNetHostingEnvironment(Options.Create(new HostingSettings())), new AspNetBackOfficeInfo(_globalSettings, _ioHelper, new NullLogger(), Options.Create(new WebRoutingSettings()))) - { - } - - private static readonly IIOHelper _ioHelper = TestHelper.IOHelper; - private static readonly IProfiler _profiler = new TestProfiler(); - private static readonly GlobalSettings _globalSettings = new GlobalSettings(); - - public IRuntime Runtime { get; private set; } - - protected override IRuntime GetRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) - { - return Runtime = new TestRuntime(globalSettings, connectionStrings, umbracoVersion, ioHelper, logger, loggerFactory, profiler, hostingEnvironment, backOfficeInfo); - } - } - - // test runtime - public class TestRuntime : CoreRuntime - { - public TestRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) - :base(globalSettings, connectionStrings,umbracoVersion, ioHelper, loggerFactory, profiler, new AspNetUmbracoBootPermissionChecker(), hostingEnvironment, backOfficeInfo, TestHelper.DbProviderFactoryCreator, TestHelper.MainDom, TestHelper.GetTypeFinder(), AppCaches.NoCache) - { - - } - - // must override the database factory - // else BootFailedException because U cannot connect to the configured db - protected internal override IUmbracoDatabaseFactory CreateDatabaseFactory() - { - var mock = new Mock(); - mock.Setup(x => x.Configured).Returns(true); - mock.Setup(x => x.CanConnect).Returns(true); - return mock.Object; - } - - public override IFactory Configure(IRegister container) - { - container.Register(Lifetime.Singleton); - container.Register(Lifetime.Singleton); - container.Register(typeof(ILogger<>), typeof(Logger<>), Lifetime.Singleton); - - - var factory = base.Configure(container); - return factory; - } - - // runs with only one single component - // UmbracoCoreComponent will be force-added too - // and that's it - protected override IEnumerable GetComposerTypes(TypeLoader typeLoader) - { - return new[] { typeof(TestComposer) }; - } - } - - - public class TestComposer : IComposer - { - // test flags - public static bool Ctored; - public static bool Composed; - - public static void Reset() - { - Ctored = Composed = false; - } - - public TestComposer() - { - Ctored = true; - } - - public void Compose(Composition composition) - { - composition.RegisterUnique(); - composition.Components().Append(); - - Composed = true; - } - } - - public class TestComponent : IComponent, IDisposable - { - // test flags - public static bool Ctored; - public static bool Initialized; - public static bool Terminated; - public static IProfilingLogger ProfilingLogger; - - public bool Disposed; - - public static void Reset() - { - Ctored = Initialized = Terminated = false; - ProfilingLogger = null; - } - - public TestComponent(IProfilingLogger proflog) - { - Ctored = true; - ProfilingLogger = proflog; - } - - public void Initialize() - { - Initialized = true; - } - - public void Terminate() - { - Terminated = true; - } - - public void Dispose() - { - Disposed = true; - } - } - } -} diff --git a/src/Umbraco.Tests/Runtimes/WebRuntimeComponentTests.cs b/src/Umbraco.Tests/Runtimes/WebRuntimeComponentTests.cs deleted file mode 100644 index 42a0eeba54..0000000000 --- a/src/Umbraco.Tests/Runtimes/WebRuntimeComponentTests.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System.Collections.Generic; -using System.Web.Mvc; -using NUnit.Framework; -using NUnit.Framework.Internal; -using Umbraco.Tests.TestHelpers; -using Umbraco.Web.Mvc; -using Umbraco.Web.Runtime; - -namespace Umbraco.Tests.Runtimes -{ - [TestFixture] - public class WebRuntimeComponentTests - { - [Test] - public void WrapViewEngines_HasEngines_WrapsAll() - { - IList engines = new List - { - new RenderViewEngine(TestHelper.GetHostingEnvironment()), - new PluginViewEngine() - }; - - WebInitialComponent.WrapViewEngines(engines); - - Assert.That(engines.Count, Is.EqualTo(2)); - Assert.That(engines[0], Is.InstanceOf()); - Assert.That(engines[1], Is.InstanceOf()); - } - - [Test] - public void WrapViewEngines_HasEngines_KeepsSortOrder() - { - IList engines = new List - { - new RenderViewEngine(TestHelper.GetHostingEnvironment()), - new PluginViewEngine() - }; - - WebInitialComponent.WrapViewEngines(engines); - - Assert.That(engines.Count, Is.EqualTo(2)); - Assert.That(((ProfilingViewEngine)engines[0]).Inner, Is.InstanceOf()); - Assert.That(((ProfilingViewEngine)engines[1]).Inner, Is.InstanceOf()); - } - - [Test] - public void WrapViewEngines_HasProfiledEngine_AddsSameInstance() - { - var profiledEngine = new ProfilingViewEngine(new PluginViewEngine()); - IList engines = new List - { - profiledEngine - }; - - WebInitialComponent.WrapViewEngines(engines); - - Assert.That(engines[0], Is.SameAs(profiledEngine)); - } - - [Test] - public void WrapViewEngines_CollectionIsNull_DoesNotThrow() - { - Assert.DoesNotThrow(() => WebInitialComponent.WrapViewEngines(null)); - } - } -} diff --git a/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs b/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs index ebfb9da8b3..59f9a43526 100644 --- a/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs @@ -17,7 +17,9 @@ using Umbraco.Core.Scoping; using Umbraco.Core.Services; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; +using Umbraco.Web; using Current = Umbraco.Web.Composing.Current; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Tests.Scoping { @@ -34,26 +36,19 @@ namespace Umbraco.Tests.Scoping DoThing2 = null; DoThing3 = null; - var register = TestHelper.GetRegister(); + var services = TestHelper.GetRegister(); - var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(services, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); - _testObjects = new TestObjects(register); + _testObjects = new TestObjects(services); var globalSettings = new GlobalSettings(); - composition.RegisterUnique(factory => new FileSystems(factory, factory.TryGetInstance>(), factory.TryGetInstance(), TestHelper.IOHelper, Microsoft.Extensions.Options.Options.Create(globalSettings), TestHelper.GetHostingEnvironment())); + composition.Services.AddUnique(factory => new FileSystems(factory, factory.GetService>(), factory.GetService(), TestHelper.IOHelper, Microsoft.Extensions.Options.Options.Create(globalSettings), TestHelper.GetHostingEnvironment())); composition.WithCollectionBuilder(); - Current.Reset(); - Current.Factory = composition.CreateFactory(); + Current.Factory = composition.CreateServiceProvider(); } - - [TearDown] - public void TearDown() - { - Current.Reset(); - } - + [TestCase(false, true, true)] [TestCase(false, true, false)] [TestCase(false, false, true)] diff --git a/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs b/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs index ad476d49ca..5968a13ce8 100644 --- a/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs @@ -1,5 +1,6 @@ using System; using System.Web.Routing; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -42,8 +43,8 @@ namespace Umbraco.Tests.Scoping // but then, it requires a lot of plumbing ;( // FIXME: and we cannot inject a DistributedCache yet // so doing all this mess - Composition.RegisterUnique(); - Composition.RegisterUnique(f => Mock.Of()); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(f => Mock.Of()); Composition.WithCollectionBuilder() .Add(() => Composition.TypeLoader.GetCacheRefreshers()); } @@ -73,7 +74,7 @@ namespace Umbraco.Tests.Scoping var runtimeStateMock = new Mock(); runtimeStateMock.Setup(x => x.Level).Returns(() => RuntimeLevel.Run); - var contentTypeFactory = Factory.GetInstance(); + var contentTypeFactory = Factory.GetRequiredService(); var documentRepository = Mock.Of(); var mediaRepository = Mock.Of(); var memberRepository = Mock.Of(); @@ -98,7 +99,7 @@ namespace Umbraco.Tests.Scoping DefaultCultureAccessor, new DatabaseDataSource(Mock.Of>()), Microsoft.Extensions.Options.Options.Create(globalSettings ?? new GlobalSettings()), - Factory.GetInstance(), + Factory.GetRequiredService(), new NoopPublishedModelFactory(), new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }), hostingEnvironment, diff --git a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs index cac420d5e2..3a07a9864a 100644 --- a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using NUnit.Framework; @@ -37,8 +38,8 @@ namespace Umbraco.Tests.Scoping // but then, it requires a lot of plumbing ;( // FIXME: and we cannot inject a DistributedCache yet // so doing all this mess - Composition.RegisterUnique(); - Composition.RegisterUnique(f => Mock.Of()); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(f => Mock.Of()); Composition.WithCollectionBuilder() .Add(() => Composition.TypeLoader.GetCacheRefreshers()); } @@ -49,9 +50,9 @@ namespace Umbraco.Tests.Scoping var globalSettings = new GlobalSettings(); var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings(); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); } [TearDown] @@ -79,7 +80,7 @@ namespace Umbraco.Tests.Scoping // xmlStore.Xml - the actual main xml document // publishedContentCache.GetXml() - the captured xml - private static XmlStore XmlStore => (Current.Factory.GetInstance() as XmlPublishedSnapshotService).XmlStore; + private static XmlStore XmlStore => (Current.Factory.GetRequiredService() as XmlPublishedSnapshotService).XmlStore; private static XmlDocument XmlMaster => XmlStore.Xml; private static XmlDocument XmlInContext => ((PublishedContentCache) Umbraco.Web.Composing.Current.UmbracoContext.Content).GetXml(false); diff --git a/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs b/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs index 3c3e14e2c4..ddfc6fa7f1 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using Microsoft.Extensions.DependencyInjection; using Moq; using NPoco; using NUnit.Framework; @@ -12,6 +13,7 @@ using Umbraco.Core.Logging; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence; using Umbraco.Persistance.SqlCe; +using Umbraco.Web; using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.TestHelpers @@ -33,9 +35,7 @@ namespace Umbraco.Tests.TestHelpers [SetUp] public virtual void Initialize() { - Current.Reset(); - - var container = TestHelper.GetRegister(); + var services = TestHelper.GetRegister(); var ioHelper = TestHelper.IOHelper; var logger = new ProfilingLogger(Mock.Of(), Mock.Of()); @@ -46,38 +46,30 @@ namespace Umbraco.Tests.TestHelpers logger, false); - var composition = new Composition(container, typeLoader, Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(services, typeLoader, Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); - composition.RegisterUnique(_ => Mock.Of()); - composition.RegisterUnique(_ => NullLoggerFactory.Instance); - composition.RegisterUnique(_ => Mock.Of()); - - composition.RegisterUnique(typeLoader); + services.AddUnique(_ => Mock.Of()); + services.AddUnique(_ => NullLoggerFactory.Instance); + services.AddUnique(_ => Mock.Of()); + services.AddUnique(typeLoader); composition.WithCollectionBuilder() .AddCoreMappers(); - composition.RegisterUnique(_ => SqlContext); + services.AddUnique(_ => SqlContext); - var factory = Current.Factory = composition.CreateFactory(); + var factory = Current.Factory = composition.CreateServiceProvider(); var pocoMappers = new NPoco.MapperCollection { new PocoMapper() }; var pocoDataFactory = new FluentPocoDataFactory((type, iPocoDataFactory) => new PocoDataBuilder(type, pocoMappers).Init()); var sqlSyntax = new SqlCeSyntaxProvider(); - SqlContext = new SqlContext(sqlSyntax, DatabaseType.SQLCe, pocoDataFactory, new Lazy(() => factory.GetInstance())); - Mappers = factory.GetInstance(); + SqlContext = new SqlContext(sqlSyntax, DatabaseType.SQLCe, pocoDataFactory, new Lazy(() => factory.GetRequiredService())); + Mappers = factory.GetRequiredService(); SetUp(); } public virtual void SetUp() {} - - [TearDown] - public virtual void TearDown() - { - //MappingResolver.Reset(); - Current.Reset(); - } } } diff --git a/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs b/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs index 51836502fb..e9455a22d5 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseWebTest.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Threading; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -35,8 +36,8 @@ namespace Umbraco.Tests.TestHelpers { base.Compose(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); } protected override void Initialize() @@ -93,13 +94,13 @@ namespace Umbraco.Tests.TestHelpers "; } - internal PublishedRouter CreatePublishedRouter(IFactory container = null, ContentFinderCollection contentFinders = null) + internal PublishedRouter CreatePublishedRouter(IServiceProvider container = null, ContentFinderCollection contentFinders = null) { var webRoutingSettings = new WebRoutingSettings(); return CreatePublishedRouter(webRoutingSettings, container ?? Factory, contentFinders); } - internal static PublishedRouter CreatePublishedRouter(WebRoutingSettings webRoutingSettings, IFactory container = null, ContentFinderCollection contentFinders = null) + internal static PublishedRouter CreatePublishedRouter(WebRoutingSettings webRoutingSettings, IServiceProvider container = null, ContentFinderCollection contentFinders = null) { return new PublishedRouter( Microsoft.Extensions.Options.Options.Create(webRoutingSettings), @@ -110,11 +111,11 @@ namespace Umbraco.Tests.TestHelpers Mock.Of>(), Mock.Of(), Mock.Of(), - container?.GetInstance() ?? Current.Factory.GetInstance(), - container?.GetInstance()?? Current.Factory.GetInstance(), - container?.GetInstance()?? Current.Factory.GetInstance(), - container?.GetInstance() ?? Current.Factory.GetInstance(), - container?.GetInstance() ?? Current.Factory.GetInstance() + container?.GetRequiredService() ?? Current.Factory.GetRequiredService(), + container?.GetRequiredService()?? Current.Factory.GetRequiredService(), + container?.GetRequiredService()?? Current.Factory.GetRequiredService(), + container?.GetRequiredService() ?? Current.Factory.GetRequiredService(), + container?.GetRequiredService() ?? Current.Factory.GetRequiredService() ); } } diff --git a/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs b/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs index d0348cf589..a718a09d5b 100644 --- a/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs +++ b/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs @@ -5,6 +5,7 @@ using System.Reflection; using System.Web.Mvc; using System.Web.Routing; using System.Web.SessionState; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using Umbraco.Core; @@ -61,7 +62,7 @@ namespace Umbraco.Tests.TestHelpers.Stubs foreach (var parameter in allParams) { var found = possibleParams.SingleOrDefault(x => x.GetType() == parameter.ParameterType) - ?? Current.Factory.GetInstance(parameter.ParameterType); + ?? Current.Factory.GetRequiredService(parameter.ParameterType); if (found != null) args.Add(found); } if (args.Count == allParams.Length) diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index b016b4ebe6..e91c2fdf4d 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Reflection; using System.Threading; using System.Web; +using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using Umbraco.Core; @@ -306,7 +307,7 @@ namespace Umbraco.Tests.TestHelpers public static IUmbracoVersion GetUmbracoVersion() => _testHelperInternal.GetUmbracoVersion(); - public static IRegister GetRegister() => _testHelperInternal.GetRegister(); + public static IServiceCollection GetRegister() => _testHelperInternal.GetRegister().AddLazySupport(); public static IHostingEnvironment GetHostingEnvironment() => _testHelperInternal.GetHostingEnvironment(); diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs b/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs index 671af42ef0..d6ace1ac2c 100644 --- a/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs +++ b/src/Umbraco.Tests/TestHelpers/TestObjects-Mocks.cs @@ -17,6 +17,7 @@ using Umbraco.Persistance.SqlCe; using Umbraco.Tests.Common; using Umbraco.Web; using Umbraco.Web.PublishedCache; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Tests.TestHelpers { @@ -54,7 +55,7 @@ namespace Umbraco.Tests.TestHelpers /// Gets a mocked service context built with mocked services. /// /// A ServiceContext. - public ServiceContext GetServiceContextMock(IFactory container = null) + public ServiceContext GetServiceContextMock(IServiceProvider container = null) { // FIXME: else some tests break - figure it out container = null; @@ -82,10 +83,10 @@ namespace Umbraco.Tests.TestHelpers MockService(container)); } - private T MockService(IFactory container = null) + private T MockService(IServiceProvider container = null) where T : class { - return container?.TryGetInstance() ?? new Mock().Object; + return container?.GetService() ?? new Mock().Object; } /// diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects.cs b/src/Umbraco.Tests/TestHelpers/TestObjects.cs index 0b284b8f47..91b82caccb 100644 --- a/src/Umbraco.Tests/TestHelpers/TestObjects.cs +++ b/src/Umbraco.Tests/TestHelpers/TestObjects.cs @@ -2,6 +2,7 @@ using System.Configuration; using System.IO; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; using Moq; @@ -31,9 +32,9 @@ namespace Umbraco.Tests.TestHelpers /// internal partial class TestObjects { - private readonly IRegister _register; + private readonly IServiceCollection _register; - public TestObjects(IRegister register) + public TestObjects(IServiceCollection register) { _register = register; } @@ -68,16 +69,16 @@ namespace Umbraco.Tests.TestHelpers return new UmbracoDatabase(connection, sqlContext, logger, TestHelper.BulkSqlInsertProvider); } - private Lazy GetLazyService(IFactory container, Func ctor) + private Lazy GetLazyService(IServiceProvider container, Func ctor) where T : class { - return new Lazy(() => container?.TryGetInstance() ?? ctor(container)); + return new Lazy(() => container?.GetService() ?? ctor(container)); } - private T GetRepo(IFactory container) + private T GetRepo(IServiceProvider container) where T : class, IRepository { - return container?.TryGetInstance() ?? Mock.Of(); + return container?.GetService() ?? Mock.Of(); } public IScopeProvider GetScopeProvider(ILoggerFactory loggerFactory, ITypeFinder typeFinder = null, FileSystems fileSystems = null, IUmbracoDatabaseFactory databaseFactory = null) @@ -92,7 +93,7 @@ namespace Umbraco.Tests.TestHelpers // var mappersBuilder = new MapperCollectionBuilder(Current.Container); // FIXME: // mappersBuilder.AddCore(); // var mappers = mappersBuilder.CreateCollection(); - var mappers = Current.Factory.GetInstance(); + var mappers = Current.Factory.GetRequiredService(); databaseFactory = new UmbracoDatabaseFactory( loggerFactory.CreateLogger(), loggerFactory, diff --git a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs index 51d323d0ff..53a7e7ba36 100644 --- a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs +++ b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs @@ -4,6 +4,7 @@ using System.Data.SqlServerCe; using System.Threading; using System.Web.Routing; using System.Xml; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Moq; using NUnit.Framework; @@ -57,7 +58,7 @@ namespace Umbraco.Tests.TestHelpers internal ScopeProvider ScopeProvider => Current.ScopeProvider as ScopeProvider; - protected ISqlContext SqlContext => Factory.GetInstance(); + protected ISqlContext SqlContext => Factory.GetRequiredService(); public override void SetUp() { @@ -72,9 +73,9 @@ namespace Umbraco.Tests.TestHelpers { base.Compose(); - Composition.Register(); - Composition.Register(factory => PublishedSnapshotService); - Composition.Register(factory => DefaultCultureAccessor); + Composition.Services.AddTransient(); + Composition.Services.AddTransient(factory => PublishedSnapshotService); + Composition.Services.AddTransient(factory => DefaultCultureAccessor); Composition.WithCollectionBuilder() .Clear() @@ -83,13 +84,13 @@ namespace Umbraco.Tests.TestHelpers Composition.WithCollectionBuilder() .Add(Composition.TypeLoader.GetUmbracoApiControllers()); - Composition.RegisterUnique(f => + Composition.Services.AddUnique(f => { if (Options.Database == UmbracoTestOptions.Database.None) return TestObjects.GetDatabaseFactoryMock(); - var lazyMappers = new Lazy(f.GetInstance); - var factory = new UmbracoDatabaseFactory(f.GetInstance>(), f.GetInstance(), GetDbConnectionString(), GetDbProviderName(), lazyMappers, TestHelper.DbProviderFactoryCreator); + var lazyMappers = new Lazy(f.GetRequiredService); + var factory = new UmbracoDatabaseFactory(f.GetRequiredService>(), f.GetRequiredService(), GetDbConnectionString(), GetDbProviderName(), lazyMappers, TestHelper.DbProviderFactoryCreator); factory.ResetForTests(); return factory; }); @@ -103,7 +104,7 @@ namespace Umbraco.Tests.TestHelpers public override void TearDown() { - var profilingLogger = Factory.TryGetInstance(); + var profilingLogger = Factory.GetService(); var timer = profilingLogger?.TraceDuration("teardown"); // FIXME: move that one up try { @@ -240,11 +241,11 @@ namespace Umbraco.Tests.TestHelpers var cache = NoAppCache.Instance; ContentTypesCache ??= new PublishedContentTypeCache( - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance(), - Factory.GetInstance>()); + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), + Factory.GetRequiredService>()); // testing=true so XmlStore will not use the file nor the database @@ -252,19 +253,19 @@ namespace Umbraco.Tests.TestHelpers var variationContextAccessor = new TestVariationContextAccessor(); var service = new XmlPublishedSnapshotService( ServiceContext, - Factory.GetInstance(), + Factory.GetRequiredService(), ScopeProvider, cache, publishedSnapshotAccessor, variationContextAccessor, - Factory.GetInstance(), - Factory.GetInstance(), Factory.GetInstance(), Factory.GetInstance(), + Factory.GetRequiredService(), + Factory.GetRequiredService(), Factory.GetRequiredService(), Factory.GetRequiredService(), DefaultCultureAccessor, - Factory.GetInstance(), + Factory.GetRequiredService(), globalSettings ?? TestObjects.GetGlobalSettings(), HostingEnvironment, HostingLifetime, ShortStringHelper, new SiteDomainHelper(), - Factory.GetInstance(), + Factory.GetRequiredService(), ContentTypesCache, null, true, Options.PublishedRepositoryEvents); diff --git a/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs b/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs index 017f7022e7..9c259d7d16 100644 --- a/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs +++ b/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs @@ -3,6 +3,7 @@ using System.Globalization; using System.Linq; using System.Web; using System.Web.Security; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using Moq; using NUnit.Framework; @@ -62,11 +63,11 @@ namespace Umbraco.Tests.Testing.TestingTests public void Can_Mock_Umbraco_Helper() { // unless we can inject them in MembershipHelper, we need need this - Composition.Register(_ => Mock.Of()); - Composition.Register(_ => Mock.Of()); - Composition.Register(_ => Mock.Of()); - Composition.Register(_ => AppCaches.Disabled); - Composition.Register(); + Composition.Services.AddTransient(_ => Mock.Of()); + Composition.Services.AddTransient(_ => Mock.Of()); + Composition.Services.AddTransient(_ => Mock.Of()); + Composition.Services.AddTransient(_ => AppCaches.Disabled); + Composition.Services.AddTransient(); // ReSharper disable once UnusedVariable var helper = new UmbracoHelper(Mock.Of(), diff --git a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs index 9d156ca722..ea9c0e5ad0 100644 --- a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs +++ b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs @@ -9,6 +9,7 @@ using System.Web.Routing; using System.Web.Security; using System.Xml.Linq; using Examine; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Moq; @@ -104,7 +105,7 @@ namespace Umbraco.Tests.Testing protected Composition Composition { get; private set; } - protected IFactory Factory { get; private set; } + protected IServiceProvider Factory { get; private set; } protected UmbracoTestAttribute Options { get; private set; } @@ -119,43 +120,43 @@ namespace Umbraco.Tests.Testing private TypeLoader _featureTypeLoader; #region Accessors - protected ServiceContext ServiceContext => Factory.GetInstance(); + protected ServiceContext ServiceContext => Factory.GetRequiredService(); - protected ILoggerFactory LoggerFactory => Factory.GetInstance(); + protected ILoggerFactory LoggerFactory => Factory.GetRequiredService(); protected IJsonSerializer JsonNetSerializer { get; } = new JsonNetSerializer(); protected IIOHelper IOHelper { get; private set; } protected UriUtility UriUtility => new UriUtility(HostingEnvironment); - protected IPublishedUrlProvider PublishedUrlProvider => Factory.GetInstance(); - protected IDataTypeService DataTypeService => Factory.GetInstance(); - protected IPasswordHasher PasswordHasher => Factory.GetInstance(); - protected Lazy PropertyEditorCollection => new Lazy(() => Factory.GetInstance()); - protected ILocalizationService LocalizationService => Factory.GetInstance(); + protected IPublishedUrlProvider PublishedUrlProvider => Factory.GetRequiredService(); + protected IDataTypeService DataTypeService => Factory.GetRequiredService(); + protected IPasswordHasher PasswordHasher => Factory.GetRequiredService(); + protected Lazy PropertyEditorCollection => new Lazy(() => Factory.GetRequiredService()); + protected ILocalizationService LocalizationService => Factory.GetRequiredService(); protected ILocalizedTextService LocalizedTextService { get; private set; } - protected IShortStringHelper ShortStringHelper => Factory?.GetInstance() ?? TestHelper.ShortStringHelper; - protected IImageUrlGenerator ImageUrlGenerator => Factory.GetInstance(); - protected UploadAutoFillProperties UploadAutoFillProperties => Factory.GetInstance(); + protected IShortStringHelper ShortStringHelper => Factory?.GetRequiredService() ?? TestHelper.ShortStringHelper; + protected IImageUrlGenerator ImageUrlGenerator => Factory.GetRequiredService(); + protected UploadAutoFillProperties UploadAutoFillProperties => Factory.GetRequiredService(); protected IUmbracoVersion UmbracoVersion { get; private set; } protected ITypeFinder TypeFinder { get; private set; } - protected IProfiler Profiler => Factory.GetInstance(); + protected IProfiler Profiler => Factory.GetRequiredService(); - protected virtual IProfilingLogger ProfilingLogger => Factory.GetInstance(); + protected virtual IProfilingLogger ProfilingLogger => Factory.GetRequiredService(); protected IHostingEnvironment HostingEnvironment { get; } = new AspNetHostingEnvironment(Microsoft.Extensions.Options.Options.Create(new HostingSettings())); protected IApplicationShutdownRegistry HostingLifetime { get; } = new AspNetApplicationShutdownRegistry(); - protected IIpResolver IpResolver => Factory.GetInstance(); - protected IBackOfficeInfo BackOfficeInfo => Factory.GetInstance(); - protected AppCaches AppCaches => Factory.GetInstance(); + protected IIpResolver IpResolver => Factory.GetRequiredService(); + protected IBackOfficeInfo BackOfficeInfo => Factory.GetRequiredService(); + protected AppCaches AppCaches => Factory.GetRequiredService(); - protected virtual ISqlSyntaxProvider SqlSyntax => Factory.GetInstance(); + protected virtual ISqlSyntaxProvider SqlSyntax => Factory.GetRequiredService(); - protected IMapperCollection Mappers => Factory.GetInstance(); + protected IMapperCollection Mappers => Factory.GetRequiredService(); - protected UmbracoMapper Mapper => Factory.GetInstance(); - protected IHttpContextAccessor HttpContextAccessor => Factory.GetInstance(); + protected UmbracoMapper Mapper => Factory.GetRequiredService(); + protected IHttpContextAccessor HttpContextAccessor => Factory.GetRequiredService(); protected IRuntimeState RuntimeState => MockRuntimeState(RuntimeLevel.Run); private ILoggerFactory _loggerFactory; @@ -201,33 +202,38 @@ namespace Umbraco.Tests.Testing LocalizedTextService = new LocalizedTextService(new Dictionary>(), loggerFactory.CreateLogger()); var typeLoader = GetTypeLoader(IOHelper, TypeFinder, appCaches.RuntimeCache, HostingEnvironment, loggerFactory.CreateLogger(), proflogger, Options.TypeLoader); - var register = TestHelper.GetRegister(); + var services = TestHelper.GetRegister(); - - Composition = new Composition(register, typeLoader, proflogger, MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + Composition = new Composition( + services, + typeLoader, + proflogger, + MockRuntimeState(RuntimeLevel.Run), + TestHelper.IOHelper, + AppCaches.NoCache + ); //TestHelper.GetConfigs().RegisterWith(register); - - Composition.RegisterUnique(typeof(ILoggerFactory), loggerFactory); - Composition.Register(typeof(ILogger<>), typeof(Logger<>)); - Composition.Register(typeof(ILogger), msLogger); - Composition.RegisterUnique(IOHelper); - Composition.RegisterUnique(UriUtility); - Composition.RegisterUnique(UmbracoVersion); - Composition.RegisterUnique(TypeFinder); - Composition.RegisterUnique(LocalizedTextService); - Composition.RegisterUnique(typeLoader); - Composition.RegisterUnique(profiler); - Composition.RegisterUnique(proflogger); - Composition.RegisterUnique(appCaches); - Composition.RegisterUnique(HostingEnvironment); - Composition.RegisterUnique(backOfficeInfo); - Composition.RegisterUnique(ipResolver); - Composition.RegisterUnique(); - Composition.RegisterUnique(TestHelper.ShortStringHelper); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + services.AddUnique(typeof(ILoggerFactory), loggerFactory); + services.AddTransient(typeof(ILogger<>), typeof(Logger<>)); + services.AddSingleton(msLogger); + services.AddUnique(IOHelper); + services.AddUnique(UriUtility); + services.AddUnique(UmbracoVersion); + services.AddUnique(TypeFinder); + services.AddUnique(LocalizedTextService); + services.AddUnique(typeLoader); + services.AddUnique(profiler); + services.AddUnique(proflogger); + services.AddUnique(appCaches); + services.AddUnique(HostingEnvironment); + services.AddUnique(backOfficeInfo); + services.AddUnique(ipResolver); + services.AddUnique(); + services.AddUnique(TestHelper.ShortStringHelper); + services.AddUnique(); + services.AddUnique(); var memberService = Mock.Of(); @@ -235,14 +241,14 @@ namespace Umbraco.Tests.Testing var membershipProvider = new MembersMembershipProvider(memberService, memberTypeService, Mock.Of(), TestHelper.GetHostingEnvironment(), TestHelper.GetIpResolver()); var membershipHelper = new MembershipHelper(Mock.Of(), Mock.Of(), membershipProvider, Mock.Of(), memberService, memberTypeService, Mock.Of(), AppCaches.Disabled, loggerFactory, ShortStringHelper, Mock.Of()); - Composition.RegisterUnique(membershipHelper); + services.AddUnique(membershipHelper); - TestObjects = new TestObjects(register); + TestObjects = new TestObjects(services); Compose(); - Current.Factory = Factory = Composition.CreateFactory(); + Current.Factory = Factory = Composition.CreateServiceProvider(); Initialize(); } @@ -306,17 +312,17 @@ namespace Umbraco.Tests.Testing Umbraco.Web.Composing.Current.UmbracoContextAccessor = new TestUmbracoContextAccessor(); // web - Composition.RegisterUnique(_ => Umbraco.Web.Composing.Current.UmbracoContextAccessor); - Composition.RegisterUnique(); + Composition.Services.AddUnique(_ => Umbraco.Web.Composing.Current.UmbracoContextAccessor); + Composition.Services.AddUnique(); Composition.WithCollectionBuilder(); Composition.DataValueReferenceFactories(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); Composition.SetCultureDictionaryFactory(); - Composition.Register(f => f.GetInstance().CreateDictionary(), Lifetime.Singleton); + Composition.Services.AddSingleton(f => f.GetRequiredService().CreateDictionary()); // register back office sections in the order we want them rendered Composition.WithCollectionBuilder().Append() .Append() @@ -326,24 +332,24 @@ namespace Umbraco.Tests.Testing .Append() .Append() .Append(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); var webRoutingSettings = new WebRoutingSettings(); - Composition.RegisterUnique(factory => + Composition.Services.AddUnique(factory => new UrlProvider( - factory.GetInstance(), + factory.GetRequiredService(), Microsoft.Extensions.Options.Options.Create(webRoutingSettings), new UrlProviderCollection(Enumerable.Empty()), new MediaUrlProviderCollection(Enumerable.Empty()), - factory.GetInstance())); + factory.GetRequiredService())); @@ -354,17 +360,17 @@ namespace Umbraco.Tests.Testing // what else? var runtimeStateMock = new Mock(); runtimeStateMock.Setup(x => x.Level).Returns(RuntimeLevel.Run); - Composition.RegisterUnique(f => runtimeStateMock.Object); - Composition.Register(_ => Mock.Of()); - Composition.Register(); + Composition.Services.AddUnique(f => runtimeStateMock.Object); + Composition.Services.AddTransient(_ => Mock.Of()); + Composition.Services.AddTransient(); // ah... Composition.WithCollectionBuilder(); Composition.WithCollectionBuilder(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); // register empty content apps collection Composition.WithCollectionBuilder(); @@ -436,13 +442,13 @@ namespace Umbraco.Tests.Testing var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings(); var webRoutingSettings = new WebRoutingSettings(); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(coreDebugSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(nuCacheSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(requestHandlerSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); - Composition.Register(x => Microsoft.Extensions.Options.Options.Create(webRoutingSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(contentSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(coreDebugSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(nuCacheSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(requestHandlerSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings)); + Composition.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(webRoutingSettings)); } protected virtual void ComposeApplication(bool withApplication) @@ -454,66 +460,66 @@ namespace Umbraco.Tests.Testing // default Datalayer/Repositories/SQL/Database/etc... Composition.ComposeRepositories(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); // register filesystems - Composition.RegisterUnique(factory => TestObjects.GetFileSystemsMock()); + Composition.Services.AddUnique(factory => TestObjects.GetFileSystemsMock()); var scheme = Mock.Of(); var mediaFileSystem = new MediaFileSystem(Mock.Of(), scheme, _loggerFactory.CreateLogger(), TestHelper.ShortStringHelper); - Composition.RegisterUnique(factory => mediaFileSystem); + Composition.Services.AddUnique(factory => mediaFileSystem); // no factory (noop) - Composition.RegisterUnique(); + Composition.Services.AddUnique(); // register application stuff (database factory & context, services...) Composition.WithCollectionBuilder() .AddCoreMappers(); - Composition.RegisterUnique(_ => new TransientEventMessagesFactory()); + Composition.Services.AddUnique(_ => new TransientEventMessagesFactory()); var globalSettings = new GlobalSettings(); var connectionStrings = new ConnectionStrings(); - Composition.RegisterUnique(f => new UmbracoDatabaseFactory(_loggerFactory.CreateLogger(), + Composition.Services.AddUnique(f => new UmbracoDatabaseFactory(_loggerFactory.CreateLogger(), LoggerFactory, globalSettings, connectionStrings, - new Lazy(f.GetInstance), + new Lazy(f.GetRequiredService), TestHelper.DbProviderFactoryCreator)); - Composition.RegisterUnique(f => f.TryGetInstance().SqlContext); + Composition.Services.AddUnique(f => f.GetService().SqlContext); Composition.WithCollectionBuilder(); // empty - Composition.RegisterUnique(factory - => TestObjects.GetScopeProvider(_loggerFactory, factory.TryGetInstance(), factory.TryGetInstance(), factory.TryGetInstance())); - Composition.RegisterUnique(factory => (IScopeAccessor) factory.GetInstance()); + Composition.Services.AddUnique(factory + => TestObjects.GetScopeProvider(_loggerFactory, factory.GetService(), factory.GetService(), factory.GetService())); + Composition.Services.AddUnique(factory => (IScopeAccessor) factory.GetRequiredService()); Composition.ComposeServices(); // composition root is doing weird things, fix - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); // somehow property editor ends up wanting this Composition.WithCollectionBuilder(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); // note - don't register collections, use builders Composition.WithCollectionBuilder(); - Composition.RegisterUnique(); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); + Composition.Services.AddUnique(); - Composition.RegisterUnique(TestHelper.GetHttpContextAccessor(GetHttpContextFactory("/").HttpContext)); + Composition.Services.AddUnique(TestHelper.GetHttpContextAccessor(GetHttpContextFactory("/").HttpContext)); } #endregion @@ -557,20 +563,26 @@ namespace Umbraco.Tests.Testing protected virtual void Reset() { - // reset and dispose scopes - // ensures we don't leak an opened database connection - // which would lock eg SqlCe .sdf files - if (Factory?.TryGetInstance() is ScopeProvider scopeProvider) + try { - Scope scope; - while ((scope = scopeProvider.AmbientScope) != null) + // reset and dispose scopes + // ensures we don't leak an opened database connection + // which would lock eg SqlCe .sdf files + if (Factory?.GetService() is ScopeProvider scopeProvider) { - scope.Reset(); - scope.Dispose(); + Scope scope; + while ((scope = scopeProvider.AmbientScope) != null) + { + scope.Reset(); + scope.Dispose(); + } } } - - Current.Reset(); // disposes the factory + catch (ObjectDisposedException ex) + { + if (!ex.ObjectName.Equals(nameof(IServiceProvider))) + throw; + } // reset all other static things that should not be static ;( UriUtility.ResetAppDomainAppVirtualPath(HostingEnvironment); diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 526e1aa252..ec62d7f1f5 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -88,8 +88,6 @@ 1.11.24 - - @@ -99,6 +97,9 @@ + + 3.1.8 + @@ -140,11 +141,9 @@ - - @@ -176,7 +175,6 @@ - @@ -203,23 +201,16 @@ - - - - - - - @@ -246,7 +237,6 @@ - @@ -287,7 +277,6 @@ - diff --git a/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs b/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs index 6eb4a17dcf..f40cae536f 100644 --- a/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/EventsTest.cs @@ -1,12 +1,7 @@ -using System; -using System.Linq; -using Examine; -using LightInject; -using Lucene.Net.Store; +using System.Linq; using NUnit.Framework; using Umbraco.Tests.Testing; using Umbraco.Examine; -using Umbraco.Core.PropertyEditors; namespace Umbraco.Tests.UmbracoExamine { diff --git a/src/Umbraco.Tests/UmbracoExamine/ExamineBaseTest.cs b/src/Umbraco.Tests/UmbracoExamine/ExamineBaseTest.cs index 9bd448dc38..ab8884cbaf 100644 --- a/src/Umbraco.Tests/UmbracoExamine/ExamineBaseTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/ExamineBaseTest.cs @@ -1,6 +1,7 @@ using System.IO; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; +using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Logging; @@ -34,7 +35,7 @@ namespace Umbraco.Tests.UmbracoExamine { base.Compose(); var requestHandlerSettings = new RequestHandlerSettings(); - Composition.RegisterUnique(_ => new DefaultShortStringHelper(Microsoft.Extensions.Options.Options.Create(requestHandlerSettings))); + Composition.Services.AddUnique(_ => new DefaultShortStringHelper(Microsoft.Extensions.Options.Options.Create(requestHandlerSettings))); } } } diff --git a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs index 2e3419720a..d62a900452 100644 --- a/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs +++ b/src/Umbraco.Tests/UmbracoExamine/IndexTest.cs @@ -14,6 +14,7 @@ using Umbraco.Core.Models; using Newtonsoft.Json; using System.Collections.Generic; using System; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Tests.TestHelpers; @@ -30,7 +31,7 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Property_Data_With_Value_Indexer() { - var contentValueSetBuilder = IndexInitializer.GetContentValueSetBuilder(Factory.GetInstance(), ScopeProvider, false); + var contentValueSetBuilder = IndexInitializer.GetContentValueSetBuilder(Factory.GetRequiredService(), ScopeProvider, false); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -122,8 +123,8 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Rebuild_Index() { - var contentRebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockContentService(), ScopeProvider, false); - var mediaRebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockMediaService()); + var contentRebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockContentService(), ScopeProvider, false); + var mediaRebuilder = IndexInitializer.GetMediaIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockMediaService()); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, @@ -150,7 +151,7 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Protected_Content_Not_Indexed() { - var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockContentService(), ScopeProvider, false); + var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockContentService(), ScopeProvider, false); using (var luceneDir = new RandomIdRamDirectory()) @@ -275,7 +276,7 @@ namespace Umbraco.Tests.UmbracoExamine [Test] public void Index_Reindex_Content() { - var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockContentService(), ScopeProvider, false); + var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockContentService(), ScopeProvider, false); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir, validator: new ContentValueSetValidator(false))) @@ -316,7 +317,7 @@ namespace Umbraco.Tests.UmbracoExamine public void Index_Delete_Index_Item_Ensure_Heirarchy_Removed() { - var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetInstance(), IndexInitializer.GetMockContentService(), ScopeProvider, false); + var rebuilder = IndexInitializer.GetContentIndexRebuilder(Factory.GetRequiredService(), IndexInitializer.GetMockContentService(), ScopeProvider, false); using (var luceneDir = new RandomIdRamDirectory()) using (var indexer = IndexInitializer.GetUmbracoIndexer(ProfilingLogger, HostingEnvironment, RuntimeState, luceneDir)) diff --git a/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs b/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs index d30aec874e..67e54e440e 100644 --- a/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs +++ b/src/Umbraco.Tests/UmbracoExamine/SearchTests.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using Examine; using Examine.Search; +using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; using Moq; using Umbraco.Core; @@ -54,7 +55,7 @@ namespace Umbraco.Tests.UmbracoExamine == allRecs); - var propertyEditors = Factory.GetInstance(); + var propertyEditors = Factory.GetRequiredService(); var rebuilder = IndexInitializer.GetContentIndexRebuilder(propertyEditors, contentService, ScopeProvider, true); using (var luceneDir = new RandomIdRamDirectory()) diff --git a/src/Umbraco.Tests/Web/Controllers/AuthenticationControllerTests.cs b/src/Umbraco.Tests/Web/Controllers/AuthenticationControllerTests.cs index aa329d2b48..0cb990df3d 100644 --- a/src/Umbraco.Tests/Web/Controllers/AuthenticationControllerTests.cs +++ b/src/Umbraco.Tests/Web/Controllers/AuthenticationControllerTests.cs @@ -51,12 +51,12 @@ namespace Umbraco.Tests.Web.Controllers // replace the true IUserService implementation with a mock // so that each test can configure the service to their liking - Composition.RegisterUnique(f => Mock.Of()); + Composition.Services.AddUnique(f => Mock.Of()); // kill the true IEntityService too - Composition.RegisterUnique(f => Mock.Of()); + Composition.Services.AddUnique(f => Mock.Of()); - Composition.RegisterUnique(); + Composition.Services.AddUnique(); } diff --git a/src/Umbraco.Tests/Web/Controllers/BackOfficeControllerUnitTests.cs b/src/Umbraco.Tests/Web/Controllers/BackOfficeControllerUnitTests.cs deleted file mode 100644 index fa9335bc3f..0000000000 --- a/src/Umbraco.Tests/Web/Controllers/BackOfficeControllerUnitTests.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Linq; -using NUnit.Framework; -using Umbraco.Web.Editors; - -namespace Umbraco.Tests.Web.Controllers -{ - [TestFixture] - public class BackOfficeControllerUnitTests - { - public static object[] TestLegacyJsActionPaths = new object[] { - new string[] - { - "alert('hello');", - "function test() { window.location = 'http://www.google.com'; }", - "function openCourierSecurity(userid){ UmbClientMgr.contentFrame('page?userid=123); }", - @"function openRepository(repo, folder){ UmbClientMgr.contentFrame('page?repo=repo&folder=folder); } - function openTransfer(revision, repo, folder){ UmbClientMgr.contentFrame('page?revision=revision&repo=repo&folder=folder); }", - "umbraco/js/test.js", - "/umbraco/js/test.js", - "~/umbraco/js/test.js" - } - }; - - - } -} diff --git a/src/Umbraco.Tests/Web/Mvc/HtmlHelperExtensionMethodsTests.cs b/src/Umbraco.Tests/Web/Mvc/HtmlHelperExtensionMethodsTests.cs deleted file mode 100644 index 1a4220c83b..0000000000 --- a/src/Umbraco.Tests/Web/Mvc/HtmlHelperExtensionMethodsTests.cs +++ /dev/null @@ -1,131 +0,0 @@ -using System.Web.Mvc; -using NUnit.Framework; -using Umbraco.Web; - -namespace Umbraco.Tests.Web.Mvc -{ - - [TestFixture] - public class HtmlHelperExtensionMethodsTests - { - private const string SampleWithAnchorElement = "Hello world, this is some text with a link"; - private const string SampleWithBoldAndAnchorElements = "Hello world, this is some text with a link"; - - [SetUp] - public virtual void Initialize() - { - //create an empty htmlHelper - _htmlHelper = new HtmlHelper(new ViewContext(), new ViewPage()); - } - - private HtmlHelper _htmlHelper; - - [Test] - public void Wrap_Simple() - { - var output = _htmlHelper.Wrap("div", "hello world"); - Assert.AreEqual("
hello world
", output.ToHtmlString()); - } - - [Test] - public void Wrap_Object_Attributes() - { - var output = _htmlHelper.Wrap("div", "hello world", new {style = "color:red;", onclick = "void();"}); - Assert.AreEqual("
hello world
", output.ToHtmlString()); - } - - [Test] - public static void Truncate_Simple() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.Truncate(SampleWithAnchorElement, 25).ToString(); - - Assert.AreEqual("Hello world, this is some…", result); - } - - [Test] - public static void When_Truncating_A_String_Ends_With_A_Space_We_Should_Trim_The_Space_Before_Appending_The_Ellipsis() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.Truncate(SampleWithAnchorElement, 26).ToString(); - - Assert.AreEqual("Hello world, this is some…", result); - } - - [Test] - public static void Truncate_Inside_Word() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.Truncate(SampleWithAnchorElement, 24).ToString(); - - Assert.AreEqual("Hello world, this is som…", result); - } - - [Test] - public static void Truncate_With_Tag() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.Truncate(SampleWithAnchorElement, 35).ToString(); - - Assert.AreEqual("Hello world, this is some text with…", result); - } - - [Test] - public static void Truncate_By_Words() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.TruncateByWords(SampleWithAnchorElement, 4).ToString(); - - Assert.AreEqual("Hello world, this is…", result); - } - - [Test] - public static void Truncate_By_Words_With_Tag() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.TruncateByWords(SampleWithBoldAndAnchorElements, 4).ToString(); - - Assert.AreEqual("Hello world, this is…", result); - } - - [Test] - public static void Truncate_By_Words_Mid_Tag() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.TruncateByWords(SampleWithAnchorElement, 7).ToString(); - - Assert.AreEqual("Hello world, this is some text with…", result); - } - - [Test] - public static void Strip_All_Html() - { - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.StripHtml(SampleWithBoldAndAnchorElements, null).ToString(); - - Assert.AreEqual("Hello world, this is some text with a link", result); - } - - [Test] - public static void Strip_Specific_Html() - { - string[] tags = { "b" }; - - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.StripHtml(SampleWithBoldAndAnchorElements, tags).ToString(); - - Assert.AreEqual(SampleWithAnchorElement, result); - } - - [Test] - public static void Strip_Invalid_Html() - { - const string text = "Hello world, is some text with a link"; - - var helper = new HtmlHelper(new ViewContext(), new ViewPage()); - var result = helper.StripHtml(text).ToString(); - - Assert.AreEqual("Hello world, is some text with a link", result); - } - } -} diff --git a/src/Umbraco.Tests/Web/Mvc/ValidateUmbracoFormRouteStringAttributeTests.cs b/src/Umbraco.Tests/Web/Mvc/ValidateUmbracoFormRouteStringAttributeTests.cs deleted file mode 100644 index 9d9c965440..0000000000 --- a/src/Umbraco.Tests/Web/Mvc/ValidateUmbracoFormRouteStringAttributeTests.cs +++ /dev/null @@ -1,38 +0,0 @@ -using NUnit.Framework; -using Umbraco.Composing; -using Umbraco.Web; -using Umbraco.Web.Mvc; - -namespace Umbraco.Tests.Web.Mvc -{ - [TestFixture] - public class ValidateUmbracoFormRouteStringAttributeTests - { - [Test] - public void Validate_Route_String() - { - var attribute = new ValidateUmbracoFormRouteStringAttribute(); - - Assert.Throws(() => attribute.ValidateRouteString(null, null, null, null)); - - const string ControllerName = "Test"; - const string ControllerAction = "Index"; - const string Area = "MyArea"; - var validUfprt = UrlHelperRenderExtensions.CreateEncryptedRouteString(ControllerName, ControllerAction, Area); - - var invalidUfprt = validUfprt + "z"; - Assert.Throws(() => attribute.ValidateRouteString(invalidUfprt, null, null, null)); - - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, ControllerName, ControllerAction, "doesntMatch")); - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, ControllerName, ControllerAction, null)); - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, ControllerName, "doesntMatch", Area)); - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, ControllerName, null, Area)); - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, "doesntMatch", ControllerAction, Area)); - Assert.Throws(() => attribute.ValidateRouteString(validUfprt, null, ControllerAction, Area)); - - Assert.DoesNotThrow(() => attribute.ValidateRouteString(validUfprt, ControllerName, ControllerAction, Area)); - Assert.DoesNotThrow(() => attribute.ValidateRouteString(validUfprt, ControllerName.ToLowerInvariant(), ControllerAction.ToLowerInvariant(), Area.ToLowerInvariant())); - } - - } -} diff --git a/src/Umbraco.Tests/Web/UmbracoHelperTests.cs b/src/Umbraco.Tests/Web/UmbracoHelperTests.cs deleted file mode 100644 index 34beee7499..0000000000 --- a/src/Umbraco.Tests/Web/UmbracoHelperTests.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.IO; -using System.Text; -using Microsoft.Extensions.Logging; -using Moq; -using NUnit.Framework; -using Umbraco.Core; -using Umbraco.Core.Cache; -using Umbraco.Core.Composing; -using Umbraco.Core.Logging; -using Umbraco.Tests.TestHelpers; -using Umbraco.Web; -using Current = Umbraco.Web.Composing.Current; - - -namespace Umbraco.Tests.Web -{ - - [TestFixture] - public class UmbracoHelperTests - { - - [TearDown] - public void TearDown() - { - Current.Reset(); - } - - private void SetUpDependencyContainer() - { - // FIXME: bad in a unit test - but Udi has a static ctor that wants it?! - var container = new Mock(); - var typeFinder = TestHelper.GetTypeFinder(); - var ioHelper = TestHelper.IOHelper; - container - .Setup(x => x.GetInstance(typeof(TypeLoader))) - .Returns(new TypeLoader( - typeFinder, - NoAppCache.Instance, - new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), - Mock.Of>(), - new ProfilingLogger(Mock.Of(), Mock.Of()) - ) - ); - - Current.Factory = container.Object; - } - } -} diff --git a/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs b/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs index 1c908bfb10..4441d1b2f3 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs @@ -110,7 +110,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// Returns the configuration for the backoffice user membership provider - used to configure the change password dialog ///
/// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] public IDictionary GetPasswordConfig(int userId) { return _passwordConfiguration.GetConfiguration(userId != _backofficeSecurityAccessor.BackOfficeSecurity.CurrentUser.Id); @@ -156,7 +156,7 @@ namespace Umbraco.Web.BackOffice.Controllers return _umbracoMapper.Map(user); } - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [ValidateAngularAntiForgeryToken] public async Task PostUnLinkLogin(UnLinkLoginModel unlinkLoginModel) { @@ -241,7 +241,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// is valid before the login screen is displayed. The Auth cookie can be persisted for up to a day but the csrf cookies are only session /// cookies which means that the auth cookie could be valid but the csrf cookies are no longer there, in that case we need to re-set the csrf cookies. /// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [SetAngularAntiForgeryTokens] //[CheckIfUserTicketDataIsStale] // TODO: Migrate this, though it will need to be done differently at the cookie auth level public UserDetail GetCurrentUser() @@ -263,7 +263,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// /// We cannot user GetCurrentUser since that requires they are approved, this is the same as GetCurrentUser but doesn't require them to be approved /// - [UmbracoAuthorize(redirectToUmbracoLogin: false, requireApproval: false)] + [UmbracoBackOfficeAuthorize(redirectToUmbracoLogin: false, requireApproval: false)] [SetAngularAntiForgeryTokens] [DenyLocalLoginAuthorization] public ActionResult GetCurrentInvitedUser() diff --git a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs index d527f3f778..d2e7f0d36c 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs @@ -5,6 +5,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using Microsoft.Extensions.Logging; @@ -230,7 +231,7 @@ namespace Umbraco.Web.BackOffice.Controllers return nestedDictionary; } - [UmbracoAuthorize(Order = 0)] + [UmbracoBackOfficeAuthorize(Order = 0)] [HttpGet] public IEnumerable GetGridConfig() { @@ -241,7 +242,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// Returns the JavaScript object representing the static server variables javascript object ///
/// - [UmbracoAuthorize(Order = 0)] + [UmbracoBackOfficeAuthorize(Order = 0)] [MinifyJavaScriptResult(Order = 1)] public async Task ServerVariables() { @@ -277,7 +278,7 @@ namespace Umbraco.Web.BackOffice.Controllers ///
/// /// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [HttpPost] public ActionResult LinkLogin(string provider) { @@ -313,7 +314,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// /// Callback path when the user initiates a link login request from the back office to the external provider from the action /// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [HttpGet] public async Task ExternalLinkLoginCallback() { diff --git a/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs b/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs index 762e92b003..ffb528913f 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs @@ -131,7 +131,7 @@ namespace Umbraco.Web.BackOffice.Controllers ///
/// [HttpGet] - [UmbracoAuthorize, OverrideAuthorization] + [UmbracoBackOfficeAuthorize, OverrideAuthorization] public bool AllowsCultureVariation() { var contentTypes = _contentTypeService.GetAll(); diff --git a/src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs b/src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs index d2b751837c..a3c1cfb89a 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs @@ -4,7 +4,6 @@ using System.Net; using System.Net.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; diff --git a/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs b/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs index 3086e02a31..2005d42b79 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs @@ -170,7 +170,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// /// This only works when the user is logged in (partially) /// - [UmbracoAuthorize(redirectToUmbracoLogin: false, requireApproval : true)] + [UmbracoBackOfficeAuthorize(redirectToUmbracoLogin: false, requireApproval : true)] public async Task PostSetInvitedUserPassword([FromBody]string newPassword) { var user = await _backOfficeUserManager.FindByIdAsync(_backofficeSecurityAccessor.BackOfficeSecurity.GetUserId().ResultOr(0).ToString()); @@ -236,7 +236,7 @@ namespace Umbraco.Web.BackOffice.Controllers throw HttpResponseException.CreateValidationErrorResponse(ModelState); } - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [ValidateAngularAntiForgeryToken] public async Task> GetCurrentUserLinkedLogins() { diff --git a/src/Umbraco.Web.BackOffice/Controllers/DashboardController.cs b/src/Umbraco.Web.BackOffice/Controllers/DashboardController.cs index 0d341e9a04..4d12f8db0c 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/DashboardController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/DashboardController.cs @@ -29,7 +29,7 @@ namespace Umbraco.Web.BackOffice.Controllers [ValidationFilter] [AngularJsonOnlyConfiguration] // TODO: This could be applied with our Application Model conventions [IsBackOffice] - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] public class DashboardController : UmbracoApiController { private readonly IUmbracoContextAccessor _umbracoContextAccessor; diff --git a/src/Umbraco.Web.BackOffice/Controllers/DetermineAmbiguousActionByPassingParameters.cs b/src/Umbraco.Web.BackOffice/Controllers/DetermineAmbiguousActionByPassingParameters.cs index a6432402b4..fc6c3b6814 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/DetermineAmbiguousActionByPassingParameters.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/DetermineAmbiguousActionByPassingParameters.cs @@ -3,15 +3,16 @@ using System.Collections; using System.Collections.Generic; using System.Linq; using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.AspNetCore.Mvc.ActionConstraints; using Microsoft.AspNetCore.Routing; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using Umbraco.Core; using Umbraco.Extensions; using Umbraco.Web.BackOffice.ModelBinders; -using Microsoft.AspNetCore.Http; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; namespace Umbraco.Web.BackOffice.Controllers { @@ -102,7 +103,11 @@ namespace Umbraco.Web.BackOffice.Controllers // IMPORTANT: Ensure the requestBody can be read multiple times. routeContext.HttpContext.Request.EnableBuffering(); - var body = _requestBody ??= routeContext.HttpContext.Request.GetRawBodyString(); + // We need to use the asynchronous method here if synchronous IO is not allowed (it may or may not be, depending + // on configuration in UmbracoBackOfficeServiceCollectionExtensions.AddUmbraco()). + // We can't use async/await due to the need to override IsValidForRequest, which doesn't have an async override, so going with + // this, which seems to be the least worst option for "sync to async" (https://stackoverflow.com/a/32429753/489433). + var body = _requestBody ??= Task.Run(() => routeContext.HttpContext.Request.GetRawBodyStringAsync()).GetAwaiter().GetResult(); var jToken = JsonConvert.DeserializeObject(body); diff --git a/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs b/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs index 5da7604b7c..b8db09f9b7 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs @@ -64,7 +64,7 @@ namespace Umbraco.Web.BackOffice.Controllers _viewEngines = viewEngines; } - [UmbracoAuthorize(redirectToUmbracoLogin: true, requireApproval : false)] + [UmbracoBackOfficeAuthorize(redirectToUmbracoLogin: true, requireApproval : false)] [DisableBrowserCache] public ActionResult Index() { @@ -107,7 +107,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// The endpoint that is loaded within the preview iframe ///
/// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] public ActionResult Frame(int id, string culture) { EnterPreview(id); diff --git a/src/Umbraco.Web.BackOffice/Controllers/UmbracoAuthorizedApiController.cs b/src/Umbraco.Web.BackOffice/Controllers/UmbracoAuthorizedApiController.cs index c232401b78..e3d779d61d 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/UmbracoAuthorizedApiController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/UmbracoAuthorizedApiController.cs @@ -16,7 +16,7 @@ namespace Umbraco.Web.BackOffice.Controllers /// [IsBackOffice] [UmbracoUserTimeoutFilter] - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [DisableBrowserCache] [UmbracoWebApiRequireHttps] [CheckIfUserTicketDataIsStale] diff --git a/src/Umbraco.Web.BackOffice/Controllers/UpdateCheckController.cs b/src/Umbraco.Web.BackOffice/Controllers/UpdateCheckController.cs index 4b4d48dcba..ea6ac8a45b 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/UpdateCheckController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/UpdateCheckController.cs @@ -5,7 +5,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.Extensions.Options; using Semver; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; diff --git a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs index 508b8fc6e8..d32351fdc6 100644 --- a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs +++ b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs @@ -1,13 +1,7 @@ using System; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using SixLabors.ImageSharp.Web.DependencyInjection; -using Umbraco.Composing; -using Umbraco.Core; -using Umbraco.Core.Configuration.Models; -using Umbraco.Core.IO; using Umbraco.Web.BackOffice.Middleware; using Umbraco.Web.BackOffice.Routing; @@ -29,18 +23,6 @@ namespace Umbraco.Extensions app.UseUmbracoPreview(); app.UseUmbracoInstaller(); - - // TODO: remove current class, it's on its last legs. - Current.Initialize( - app.ApplicationServices.GetService>(), - app.ApplicationServices.GetService>().Value, - app.ApplicationServices.GetService>().Value, - app.ApplicationServices.GetService(), - app.ApplicationServices.GetService(), - app.ApplicationServices.GetService(), - app.ApplicationServices.GetService() - ); - return app; } diff --git a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeServiceCollectionExtensions.cs b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeServiceCollectionExtensions.cs index c2ea34b143..4c09e0b2f9 100644 --- a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeServiceCollectionExtensions.cs +++ b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeServiceCollectionExtensions.cs @@ -1,17 +1,10 @@ using System; -using System.Reflection; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc.Filters; -using Microsoft.AspNetCore.Server.Kestrel.Core; -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; -using Microsoft.Extensions.Options; using Umbraco.Core; using Umbraco.Core.BackOffice; -using Umbraco.Core.Configuration.Models; using Umbraco.Core.Security; using Umbraco.Core.Serialization; using Umbraco.Infrastructure.BackOffice; @@ -23,7 +16,6 @@ using Umbraco.Web.Common.Security; namespace Umbraco.Extensions { - public static class BackOfficeServiceCollectionExtensions { /// diff --git a/src/Umbraco.Web.BackOffice/Extensions/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.BackOffice/Extensions/UmbracoBuilderExtensions.cs index 6a6a896bae..c494425274 100644 --- a/src/Umbraco.Web.BackOffice/Extensions/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Web.BackOffice/Extensions/UmbracoBuilderExtensions.cs @@ -16,7 +16,9 @@ namespace Umbraco.Extensions .WithMiniProfiler() .WithMvcAndRazor() .WithWebServer() - .WithPreview(); + .WithPreview() + .WithHostedServices() + .WithHttpClients(); } public static IUmbracoBuilder WithBackOffice(this IUmbracoBuilder builder) diff --git a/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs b/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs index 71d3481edf..bc72b1dd44 100644 --- a/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs +++ b/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs @@ -1,4 +1,5 @@ -using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; +using Umbraco.Core; using Umbraco.Core.BackOffice; using Umbraco.Core.Composing; using Umbraco.Core.Mapping; @@ -15,7 +16,7 @@ namespace Umbraco.Extensions .Add() .Add(); - composition.Register(); + composition.Services.AddTransient(); return composition; } diff --git a/src/Umbraco.Web.BackOffice/Routing/BackOfficeAreaRoutes.cs b/src/Umbraco.Web.BackOffice/Routing/BackOfficeAreaRoutes.cs index 7922b6a46d..c3fbc9c556 100644 --- a/src/Umbraco.Web.BackOffice/Routing/BackOfficeAreaRoutes.cs +++ b/src/Umbraco.Web.BackOffice/Routing/BackOfficeAreaRoutes.cs @@ -49,7 +49,6 @@ namespace Umbraco.Web.BackOffice.Routing case RuntimeLevel.Run: MapMinimalBackOffice(endpoints); - endpoints.MapUmbracoRoute(_umbracoPathSegment, Constants.Web.Mvc.BackOfficeArea, null); AutoRouteBackOfficeControllers(endpoints); break; case RuntimeLevel.BootFailed: diff --git a/src/Umbraco.Web.BackOffice/Routing/PreviewRoutes.cs b/src/Umbraco.Web.BackOffice/Routing/PreviewRoutes.cs index 210b0ffddb..d6c961ed54 100644 --- a/src/Umbraco.Web.BackOffice/Routing/PreviewRoutes.cs +++ b/src/Umbraco.Web.BackOffice/Routing/PreviewRoutes.cs @@ -5,6 +5,7 @@ using Umbraco.Core; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; +using Umbraco.Web.BackOffice.Controllers; using Umbraco.Web.BackOffice.SignalR; using Umbraco.Web.Common.Routing; @@ -37,6 +38,7 @@ namespace Umbraco.Web.BackOffice.Routing break; case RuntimeLevel.Run: endpoints.MapHub(GetPreviewHubRoute()); + endpoints.MapUmbracoRoute(_umbracoPathSegment, Constants.Web.Mvc.BackOfficeArea, null); break; case RuntimeLevel.BootFailed: case RuntimeLevel.Unknown: diff --git a/src/Umbraco.Web.BackOffice/Runtime/BackOfficeComposer.cs b/src/Umbraco.Web.BackOffice/Runtime/BackOfficeComposer.cs index 20976f356c..45966fee3f 100644 --- a/src/Umbraco.Web.BackOffice/Runtime/BackOfficeComposer.cs +++ b/src/Umbraco.Web.BackOffice/Runtime/BackOfficeComposer.cs @@ -1,4 +1,5 @@ using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Composing; @@ -14,7 +15,6 @@ using Umbraco.Web.BackOffice.Security; using Umbraco.Web.BackOffice.Services; using Umbraco.Web.BackOffice.Trees; using Umbraco.Web.Common.Runtime; -using Umbraco.Web.Trees; namespace Umbraco.Web.BackOffice.Runtime { @@ -24,15 +24,15 @@ namespace Umbraco.Web.BackOffice.Runtime { public void Compose(Composition composition) { - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.Register(Lifetime.Request); - composition.Register(Lifetime.Request); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddScoped(); + composition.Services.AddScoped(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // register back office trees // the collection builder only accepts types inheriting from TreeControllerBase @@ -43,15 +43,15 @@ namespace Umbraco.Web.BackOffice.Runtime composition.ComposeWebMappingProfiles(); - composition.RegisterUnique(factory => + composition.Services.AddUnique(factory => new PhysicalFileSystem( - factory.GetInstance(), - factory.GetInstance(), - factory.GetInstance>(), + factory.GetRequiredService(), + factory.GetRequiredService(), + factory.GetRequiredService>(), "~/")); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); composition.ComposeUmbracoBackOfficeControllers(); } diff --git a/src/Umbraco.Web.BackOffice/Trees/PartialViewMacrosTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/PartialViewMacrosTreeController.cs index f651c86cae..5baeac7d17 100644 --- a/src/Umbraco.Web.BackOffice/Trees/PartialViewMacrosTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/PartialViewMacrosTreeController.cs @@ -1,5 +1,4 @@ -using Umbraco.Composing; -using Umbraco.Core.IO; +using Umbraco.Core.IO; using Umbraco.Core.Services; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.Attributes; diff --git a/src/Umbraco.Web.BackOffice/Trees/PartialViewsTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/PartialViewsTreeController.cs index 258f77fe17..dcb98ac5b4 100644 --- a/src/Umbraco.Web.BackOffice/Trees/PartialViewsTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/PartialViewsTreeController.cs @@ -1,5 +1,4 @@ -using Umbraco.Composing; -using Umbraco.Core.IO; +using Umbraco.Core.IO; using Umbraco.Core.Services; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.Attributes; diff --git a/src/Umbraco.Web.BackOffice/Trees/TreeCollectionBuilder.cs b/src/Umbraco.Web.BackOffice/Trees/TreeCollectionBuilder.cs index 98438d952b..a82731f777 100644 --- a/src/Umbraco.Web.BackOffice/Trees/TreeCollectionBuilder.cs +++ b/src/Umbraco.Web.BackOffice/Trees/TreeCollectionBuilder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Web.Trees; @@ -13,9 +14,10 @@ namespace Umbraco.Web.BackOffice.Trees { private readonly List _trees = new List(); - public TreeCollection CreateCollection(IFactory factory) => new TreeCollection(_trees); + public TreeCollection CreateCollection(IServiceProvider factory) => new TreeCollection(_trees); + + public void RegisterWith(IServiceCollection services) => services.Add(new ServiceDescriptor(typeof(TreeCollection), CreateCollection, ServiceLifetime.Singleton)); - public void RegisterWith(IRegister register) => register.Register(CreateCollection, Lifetime.Singleton); /// /// Registers a custom tree definition diff --git a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs index 985c568a08..c5104c0fdc 100644 --- a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs +++ b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs @@ -4,7 +4,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.Extensions.Options; using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Extensions; using Umbraco.Web.Common.Lifetime; using Umbraco.Web.Routing; @@ -43,9 +42,8 @@ namespace Umbraco.Web.Common.AspNetCore RouteAttempt?.Invoke(sender, new RoutableAttemptEventArgs(reason, _umbracoContextAccessor.UmbracoContext)); } - - public string GetRequestValue(string name) => GetFormValue(name) ?? GetQueryStringValue(name); + public string GetFormValue(string name) { var request = _httpContextAccessor.GetRequiredHttpContext().Request; @@ -58,14 +56,15 @@ namespace Umbraco.Web.Common.AspNetCore public event EventHandler EndRequest; public event EventHandler RouteAttempt; + public Uri GetRequestUrl() => _httpContextAccessor.HttpContext != null ? new Uri(_httpContextAccessor.HttpContext.Request.GetEncodedUrl()) : null; + public Uri GetApplicationUrl() { //Fixme: This causes problems with site swap on azure because azure pre-warms a site by calling into `localhost` and when it does that // it changes the URL to `localhost:80` which actually doesn't work for pinging itself, it only works internally in Azure. The ironic part // about this is that this is here specifically for the slot swap scenario https://issues.umbraco.org/issue/U4-10626 - // see U4-10626 - in some cases we want to reset the application url // (this is a simplified version of what was in 7.x) // note: should this be optional? is it expensive? @@ -77,7 +76,10 @@ namespace Umbraco.Web.Common.AspNetCore var request = _httpContextAccessor.HttpContext?.Request; - if (request is null) return _currentApplicationUrl; + if (request is null) + { + return _currentApplicationUrl; + } var url = UriHelper.BuildAbsolute(request.Scheme, request.Host); var change = url != null && !_applicationUrls.Contains(url); diff --git a/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs b/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs index cf41670d8e..4b8f730e45 100644 --- a/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs +++ b/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs @@ -1,6 +1,7 @@ using System; using System.Text; using System.Threading.Tasks; +using Microsoft.AspNetCore.Html; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.Razor; @@ -8,12 +9,12 @@ using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Core; -using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Strings; +using Umbraco.Extensions; using Umbraco.Web.Common.ModelBinders; namespace Umbraco.Web.Common.AspNetCore @@ -110,6 +111,8 @@ namespace Umbraco.Web.Common.AspNetCore ViewData = (ViewDataDictionary) viewData; } + + // viewData is the ViewDataDictionary (maybe ) that we have // modelType is the type of the model that we need to bind to // @@ -143,5 +146,16 @@ namespace Umbraco.Web.Common.AspNetCore var nViewData = (ViewDataDictionary)Activator.CreateInstance(nViewDataType, tViewData); return nViewData; } + + public HtmlString RenderSection(string name, HtmlString defaultContents) + { + return RazorPageExtensions.RenderSection(this, name, defaultContents); + } + + public HtmlString RenderSection(string name, string defaultContents) + { + return RazorPageExtensions.RenderSection(this, name, defaultContents); + } + } } diff --git a/src/Umbraco.Web.Common/Builder/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.Common/Builder/UmbracoBuilderExtensions.cs index 2725e1b7a6..10f214a522 100644 --- a/src/Umbraco.Web.Common/Builder/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Web.Common/Builder/UmbracoBuilderExtensions.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; +using Umbraco.Core; using Umbraco.Extensions; using Umbraco.Web.Common.Filters; using Umbraco.Web.Common.ModelBinders; @@ -20,6 +21,8 @@ namespace Umbraco.Web.Common.Builder if (webHostEnvironment is null) throw new ArgumentNullException(nameof(webHostEnvironment)); if (config is null) throw new ArgumentNullException(nameof(config)); + services.AddLazySupport(); + var builder = new UmbracoBuilder(services, webHostEnvironment, config); return builder; } @@ -28,7 +31,13 @@ namespace Umbraco.Web.Common.Builder => builder.AddWith(nameof(WithConfiguration), () => builder.Services.AddUmbracoConfiguration(builder.Config)); public static IUmbracoBuilder WithCore(this IUmbracoBuilder builder) - => builder.AddWith(nameof(WithCore), () => builder.Services.AddUmbracoCore(builder.WebHostEnvironment, builder.Config, out _)); + => builder.AddWith(nameof(WithCore), () => builder.Services.AddUmbracoCore(builder.WebHostEnvironment, builder.Config)); + + public static IUmbracoBuilder WithHostedServices(this IUmbracoBuilder builder) + => builder.AddWith(nameof(WithHostedServices), () => builder.Services.AddUmbracoHostedServices()); + + public static IUmbracoBuilder WithHttpClients(this IUmbracoBuilder builder) + => builder.AddWith(nameof(WithHttpClients), () => builder.Services.AddUmbracoHttpClients()); public static IUmbracoBuilder WithMiniProfiler(this IUmbracoBuilder builder) => builder.AddWith(nameof(WithMiniProfiler), () => @@ -60,7 +69,7 @@ namespace Umbraco.Web.Common.Builder => builder.AddWith(nameof(WithRuntimeMinifier), () => builder.Services.AddUmbracoRuntimeMinifier(builder.Config)); public static IUmbracoBuilder WithWebComponents(this IUmbracoBuilder builder) - => builder.AddWith(nameof(WithWebComponents), () => builder.Services.AddUmbracoWebComponents()); + => builder.AddWith(nameof(WithWebComponents), () => builder.Services.AddUmbracoWebComponents(builder.Config)); public static IUmbracoBuilder WithWebServer(this IUmbracoBuilder builder) => builder.AddWith(nameof(WithWebServer), () => diff --git a/src/Umbraco.Web.Common/Constants/ViewConstants.cs b/src/Umbraco.Web.Common/Constants/ViewConstants.cs index 5da1a74f55..4c87509069 100644 --- a/src/Umbraco.Web.Common/Constants/ViewConstants.cs +++ b/src/Umbraco.Web.Common/Constants/ViewConstants.cs @@ -8,5 +8,12 @@ internal const string ViewLocation = "~/Views"; internal const string DataTokenCurrentViewContext = "umbraco-current-view-context"; + + internal static class ReservedAdditionalKeys + { + internal const string Controller = "c"; + internal const string Action = "a"; + internal const string Area = "ar"; + } } } diff --git a/src/Umbraco.Web.Common/Controllers/UmbracoController.cs b/src/Umbraco.Web.Common/Controllers/UmbracoController.cs index 1498b2c75c..50ec620741 100644 --- a/src/Umbraco.Web.Common/Controllers/UmbracoController.cs +++ b/src/Umbraco.Web.Common/Controllers/UmbracoController.cs @@ -2,7 +2,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Umbraco.Composing; using Umbraco.Core.Cache; using Umbraco.Core.Logging; using Umbraco.Core.Configuration.Models; diff --git a/src/Umbraco.Web.Common/Exceptions/HttpUmbracoFormRouteStringException.cs b/src/Umbraco.Web.Common/Exceptions/HttpUmbracoFormRouteStringException.cs new file mode 100644 index 0000000000..8ba326a926 --- /dev/null +++ b/src/Umbraco.Web.Common/Exceptions/HttpUmbracoFormRouteStringException.cs @@ -0,0 +1,44 @@ +using System; +using System.Runtime.Serialization; + +namespace Umbraco.Web.Common.Exceptions +{ + /// + /// Exception that occurs when an Umbraco form route string is invalid + /// + [Serializable] + public sealed class HttpUmbracoFormRouteStringException : Exception + { + /// + /// Initializes a new instance of the class. + /// + public HttpUmbracoFormRouteStringException() + { } + + /// + /// Initializes a new instance of the class. + /// + /// The that holds the serialized object data about the exception being thrown. + /// The that holds the contextual information about the source or destination. + private HttpUmbracoFormRouteStringException(SerializationInfo info, StreamingContext context) + : base(info, context) + { } + + /// + /// Initializes a new instance of the class. + /// + /// The error message displayed to the client when the exception is thrown. + public HttpUmbracoFormRouteStringException(string message) + : base(message) + { } + + /// + /// Initializes a new instance of the class. + /// + /// The error message displayed to the client when the exception is thrown. + /// The , if any, that threw the current exception. + public HttpUmbracoFormRouteStringException(string message, Exception innerException) + : base(message, innerException) + { } + } +} diff --git a/src/Umbraco.Web.Common/Extensions/ApplicationBuilderExtensions.cs b/src/Umbraco.Web.Common/Extensions/ApplicationBuilderExtensions.cs index ed0d350dc8..36d4ddbd42 100644 --- a/src/Umbraco.Web.Common/Extensions/ApplicationBuilderExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/ApplicationBuilderExtensions.cs @@ -2,6 +2,7 @@ using System; using System.Net; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; using Serilog.Context; using Smidge; using Smidge.Nuglify; @@ -42,10 +43,6 @@ namespace Umbraco.Extensions if (!app.UmbracoCanBoot()) return app; var runtime = app.ApplicationServices.GetRequiredService(); - if (runtime is CoreRuntime coreRuntime) - { - coreRuntime.ReplaceFactory(app.ApplicationServices); - } // Register a listener for application shutdown in order to terminate the runtime var hostLifetime = app.ApplicationServices.GetRequiredService(); @@ -55,7 +52,9 @@ namespace Umbraco.Extensions // Register our global threadabort enricher for logging var threadAbortEnricher = app.ApplicationServices.GetRequiredService(); LogContext.Push(threadAbortEnricher); // NOTE: We are not in a using clause because we are not removing it, it is on the global context - + + StaticApplicationLogging.Initialize(app.ApplicationServices.GetRequiredService()); + // Start the runtime! runtime.Start(); diff --git a/src/Umbraco.Web/BlockListTemplateExtensions.cs b/src/Umbraco.Web.Common/Extensions/BlockListTemplateExtensions.cs similarity index 51% rename from src/Umbraco.Web/BlockListTemplateExtensions.cs rename to src/Umbraco.Web.Common/Extensions/BlockListTemplateExtensions.cs index 6e105a24d6..06c3efaf02 100644 --- a/src/Umbraco.Web/BlockListTemplateExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/BlockListTemplateExtensions.cs @@ -1,30 +1,30 @@ using System; -using System.Web.Mvc; -using System.Web.Mvc.Html; using Umbraco.Core.Models.Blocks; using Umbraco.Core.Models.PublishedContent; -using System.Web; +using Microsoft.AspNetCore.Html; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; -namespace Umbraco.Web +namespace Umbraco.Extensions { public static class BlockListTemplateExtensions { public const string DefaultFolder = "BlockList/"; public const string DefaultTemplate = "Default"; - public static IHtmlString GetBlockListHtml(this HtmlHelper html, BlockListModel model, string template = DefaultTemplate) + public static IHtmlContent GetBlockListHtml(this HtmlHelper html, BlockListModel model, string template = DefaultTemplate) { - if (model?.Count == 0) return new MvcHtmlString(string.Empty); + if (model?.Count == 0) return new HtmlString(string.Empty); var view = DefaultFolder + template; return html.Partial(view, model); } - public static IHtmlString GetBlockListHtml(this HtmlHelper html, IPublishedProperty property, string template = DefaultTemplate) => GetBlockListHtml(html, property?.GetValue() as BlockListModel, template); + public static IHtmlContent GetBlockListHtml(this HtmlHelper html, IPublishedProperty property, string template = DefaultTemplate) => GetBlockListHtml(html, property?.GetValue() as BlockListModel, template); - public static IHtmlString GetBlockListHtml(this HtmlHelper html, IPublishedContent contentItem, string propertyAlias) => GetBlockListHtml(html, contentItem, propertyAlias, DefaultTemplate); + public static IHtmlContent GetBlockListHtml(this HtmlHelper html, IPublishedContent contentItem, string propertyAlias) => GetBlockListHtml(html, contentItem, propertyAlias, DefaultTemplate); - public static IHtmlString GetBlockListHtml(this HtmlHelper html, IPublishedContent contentItem, string propertyAlias, string template) + public static IHtmlContent GetBlockListHtml(this HtmlHelper html, IPublishedContent contentItem, string propertyAlias, string template) { if (propertyAlias == null) throw new ArgumentNullException(nameof(propertyAlias)); if (string.IsNullOrWhiteSpace(propertyAlias)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(propertyAlias)); diff --git a/src/Umbraco.Web/CacheHelperExtensions.cs b/src/Umbraco.Web.Common/Extensions/CacheHelperExtensions.cs similarity index 83% rename from src/Umbraco.Web/CacheHelperExtensions.cs rename to src/Umbraco.Web.Common/Extensions/CacheHelperExtensions.cs index e27b0db1fc..e8309262e6 100644 --- a/src/Umbraco.Web/CacheHelperExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/CacheHelperExtensions.cs @@ -1,11 +1,11 @@ using System; -using System.Web; -using System.Web.Mvc; -using System.Web.Mvc.Html; +using Microsoft.AspNetCore.Html; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; using Umbraco.Core.Cache; using Umbraco.Core.Hosting; -namespace Umbraco.Web +namespace Umbraco.Extensions { /// @@ -25,10 +25,10 @@ namespace Umbraco.Web /// used to cache the partial view, this key could change if it is cached by page or by member /// /// - public static IHtmlString CachedPartialView( + public static IHtmlContent CachedPartialView( this AppCaches appCaches, IHostingEnvironment hostingEnvironment, - HtmlHelper htmlHelper, + IHtmlHelper htmlHelper, string partialViewName, object model, int cachedSeconds, @@ -42,7 +42,7 @@ namespace Umbraco.Web return htmlHelper.Partial(partialViewName, model, viewData); } - return appCaches.RuntimeCache.GetCacheItem( + return appCaches.RuntimeCache.GetCacheItem( Core.CacheHelperExtensions.PartialViewCacheKey + cacheKey, () => htmlHelper.Partial(partialViewName, model, viewData), timeout: new TimeSpan(0, 0, 0, cachedSeconds)); diff --git a/src/Umbraco.Web.Common/Extensions/CompositionExtensions.cs b/src/Umbraco.Web.Common/Extensions/CompositionExtensions.cs index 2ce003d226..ae648f9c8a 100644 --- a/src/Umbraco.Web.Common/Extensions/CompositionExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/CompositionExtensions.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Composing; using Umbraco.Web.Common.Controllers; using Umbraco.Web.Mvc; @@ -14,7 +15,7 @@ namespace Umbraco.Extensions public static void RegisterControllers(this Composition composition, IEnumerable controllerTypes) { foreach (var controllerType in controllerTypes) - composition.Register(controllerType, Lifetime.Request); + composition.Services.AddScoped(controllerType); } } } diff --git a/src/Umbraco.Web.Common/Extensions/HttpRequestExtensions.cs b/src/Umbraco.Web.Common/Extensions/HttpRequestExtensions.cs index 0369717b9b..69fae56d32 100644 --- a/src/Umbraco.Web.Common/Extensions/HttpRequestExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/HttpRequestExtensions.cs @@ -79,8 +79,6 @@ namespace Umbraco.Extensions request.Body.Seek(0, SeekOrigin.Begin); return result; } - - } public static async Task GetRawBodyStringAsync(this HttpRequest request, Encoding encoding = null) diff --git a/src/Umbraco.Web.Common/Extensions/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web.Common/Extensions/ImageCropperTemplateExtensions.cs index 77c07e85b2..3af01da3de 100644 --- a/src/Umbraco.Web.Common/Extensions/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/ImageCropperTemplateExtensions.cs @@ -1,7 +1,6 @@ using System; using System.Globalization; using Newtonsoft.Json; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.PropertyEditors.ValueConverters; using Microsoft.Extensions.Logging; @@ -28,7 +27,7 @@ namespace Umbraco.Extensions } catch (Exception ex) { - Current.Logger.LogError(ex, "Could not parse the json string: {Json}", json); + StaticApplicationLogging.Logger.LogError(ex, "Could not parse the json string: {Json}", json); } } diff --git a/src/Umbraco.Web.Common/Extensions/RazorPageExtensions.cs b/src/Umbraco.Web.Common/Extensions/RazorPageExtensions.cs new file mode 100644 index 0000000000..884e2bbdbc --- /dev/null +++ b/src/Umbraco.Web.Common/Extensions/RazorPageExtensions.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Html; +using Microsoft.AspNetCore.Mvc.Razor; + +namespace Umbraco.Extensions +{ + public static class RazorPageExtensions + { + public static HtmlString RenderSection(this RazorPage webPage, string name, HtmlString defaultContents) + { + return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : defaultContents; + } + + public static HtmlString RenderSection(this RazorPage webPage, string name, string defaultContents) + { + return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : new HtmlString(defaultContents); + } + + } +} diff --git a/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs b/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs index ebe792a8a1..c98cbca39e 100644 --- a/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs @@ -12,8 +12,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Serilog; using Serilog.Extensions.Hosting; -using Serilog.Extensions.Logging; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Composing; @@ -26,24 +24,215 @@ using Umbraco.Core.Logging.Serilog; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.SqlSyntax; using Umbraco.Core.Runtime; -using Umbraco.Infrastructure.Composing; +using Umbraco.Infrastructure.HostedServices; +using Umbraco.Infrastructure.HostedServices.ServerRegistration; using Umbraco.Web.Common.AspNetCore; using Umbraco.Web.Common.Profiler; using ConnectionStrings = Umbraco.Core.Configuration.Models.ConnectionStrings; using CoreDebugSettings = Umbraco.Core.Configuration.Models.CoreDebugSettings; using IHostingEnvironment = Umbraco.Core.Hosting.IHostingEnvironment; -using ILogger = Microsoft.Extensions.Logging.ILogger; namespace Umbraco.Extensions { public static class UmbracoCoreServiceCollectionExtensions { + /// + /// Adds the Umbraco Configuration requirements + /// + /// + /// + /// + public static IServiceCollection AddUmbracoConfiguration(this IServiceCollection services, IConfiguration configuration) + { + if (configuration == null) throw new ArgumentNullException(nameof(configuration)); + + // Register configuration validators. + services.AddSingleton, ContentSettingsValidator>(); + services.AddSingleton, GlobalSettingsValidator>(); + services.AddSingleton, HealthChecksSettingsValidator >(); + services.AddSingleton, RequestHandlerSettingsValidator>(); + + // Register configuration sections. + services.Configure(configuration.GetSection(Constants.Configuration.ConfigActiveDirectory)); + services.Configure(configuration.GetSection("ConnectionStrings"), o => o.BindNonPublicProperties = true); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigContent)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigCoreDebug)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigExceptionFilter)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigGlobal)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigHealthChecks)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigHosting)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigImaging)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigExamine)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigKeepAlive)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigLogging)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigMemberPassword)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigModelsBuilder), o => o.BindNonPublicProperties = true); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigNuCache)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigRequestHandler)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigRuntime)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigSecurity)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigTours)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigTypeFinder)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigUserPassword)); + services.Configure(configuration.GetSection(Constants.Configuration.ConfigWebRouting)); + + return services; + } + + /// + /// Adds the Umbraco Back Core requirements + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static IServiceCollection AddUmbracoCore(this IServiceCollection services, + IWebHostEnvironment webHostEnvironment, + Assembly entryAssembly, + AppCaches appCaches, + ILoggingConfiguration loggingConfiguration, + IConfiguration configuration) + => services.AddUmbracoCore(webHostEnvironment, entryAssembly, appCaches, loggingConfiguration, configuration, GetCoreRuntime); + + /// + /// Adds the Umbraco Back Core requirements + /// + /// + /// + /// + /// + /// + public static IServiceCollection AddUmbracoCore(this IServiceCollection services, IWebHostEnvironment webHostEnvironment, IConfiguration configuration) + { + var loggingConfig = new LoggingConfiguration( + Path.Combine(webHostEnvironment.ContentRootPath, "umbraco", "logs")); + + IHttpContextAccessor httpContextAccessor = new HttpContextAccessor(); + services.AddSingleton(httpContextAccessor); + services.AddSingleton(loggingConfig); + + var requestCache = new GenericDictionaryRequestAppCache(() => httpContextAccessor.HttpContext?.Items); + var appCaches = new AppCaches( + new DeepCloneAppCache(new ObjectCacheAppCache()), + requestCache, + new IsolatedCaches(type => new DeepCloneAppCache(new ObjectCacheAppCache()))); + + services.AddUmbracoCore(webHostEnvironment, + Assembly.GetEntryAssembly(), + appCaches, + loggingConfig, + configuration, + GetCoreRuntime); + + return services; + } + + /// + /// Adds the Umbraco Back Core requirements + /// + /// + /// + /// + /// + /// + /// + /// + /// Delegate to create an + /// + /// + public static IServiceCollection AddUmbracoCore( + this IServiceCollection services, + IWebHostEnvironment webHostEnvironment, + Assembly entryAssembly, + AppCaches appCaches, + ILoggingConfiguration loggingConfiguration, + IConfiguration configuration, + //TODO: Yep that's extremely ugly + Func getRuntimeBootstrapper) + { + if (services is null) throw new ArgumentNullException(nameof(services)); + if (entryAssembly is null) throw new ArgumentNullException(nameof(entryAssembly)); + + services.AddLazySupport(); + + // Add service session + // This can be overwritten by the user by adding their own call to AddSession + // since the last call of AddSession take precedence + services.AddSession(options => + { + options.Cookie.Name = "UMB_SESSION"; + options.Cookie.HttpOnly = true; + }); + + // Add supported databases + services.AddUmbracoSqlCeSupport(); + services.AddUmbracoSqlServerSupport(); + + services.AddSingleton(x => new DbProviderFactoryCreator( + DbProviderFactories.GetFactory, + x.GetServices(), + x.GetServices(), + x.GetServices() + )); + + // TODO: We want to avoid pre-resolving a container as much as possible we should not + // be doing this any more than we are now. The ugly part about this is that the service + // instances resolved here won't be the same instances resolved from the container + // later once the true container is built. However! ... in the case of IDbProviderFactoryCreator + // it will be the same instance resolved later because we are re-registering this instance back + // into the container. This is not true for `Configs` but we should do that too, see comments in + // `RegisterEssentials`. + var serviceProvider = services.BuildServiceProvider(); + + var globalSettings = serviceProvider.GetService>(); + var connectionStrings = serviceProvider.GetService>(); + var hostingSettings = serviceProvider.GetService>(); + var typeFinderSettings = serviceProvider.GetService>(); + + var dbProviderFactoryCreator = serviceProvider.GetRequiredService(); + + CreateCompositionRoot(services, + globalSettings, + hostingSettings, + webHostEnvironment, + loggingConfiguration, + configuration, out var ioHelper, out var hostingEnvironment, out var backOfficeInfo, out var profiler); + + var loggerFactory = services.BuildServiceProvider().GetService(); + + var umbracoVersion = new UmbracoVersion(); + var typeFinder = CreateTypeFinder(loggerFactory, profiler, webHostEnvironment, entryAssembly, typeFinderSettings); + + var bootstrapper = getRuntimeBootstrapper( + globalSettings.CurrentValue, + connectionStrings.Value, + umbracoVersion, + ioHelper, + loggerFactory, + profiler, + hostingEnvironment, + backOfficeInfo, + typeFinder, + appCaches, + dbProviderFactoryCreator); + + bootstrapper.Configure(services); + + return services; + } + /// /// Adds SqlCe support for Umbraco /// /// /// - public static IServiceCollection AddUmbracoSqlCeSupport(this IServiceCollection services) + private static IServiceCollection AddUmbracoSqlCeSupport(this IServiceCollection services) { try { @@ -98,216 +287,32 @@ namespace Umbraco.Extensions } /// - /// Adds the Umbraco Back Core requirements + /// Adds hosted services for Umbraco. /// /// - /// - /// - /// - /// - /// - /// - /// - /// /// - public static IServiceCollection AddUmbracoCore(this IServiceCollection services, - IWebHostEnvironment webHostEnvironment, - IRegister umbContainer, - Assembly entryAssembly, - AppCaches appCaches, - ILoggingConfiguration loggingConfiguration, - IConfiguration configuration, - out IFactory factory) - => services.AddUmbracoCore(webHostEnvironment, umbContainer, entryAssembly, appCaches, loggingConfiguration, configuration, GetCoreRuntime, out factory); - - /// - /// Adds the Umbraco Configuration requirements - /// - /// - /// - /// - public static IServiceCollection AddUmbracoConfiguration(this IServiceCollection services, IConfiguration configuration) + public static IServiceCollection AddUmbracoHostedServices(this IServiceCollection services) { - if (configuration == null) throw new ArgumentNullException(nameof(configuration)); + services.AddHostedService(); + services.AddHostedService(); + services.AddHostedService(); + services.AddHostedService(); + services.AddHostedService(); - services.AddSingleton, ContentSettingsValidator>(); - services.AddSingleton, GlobalSettingsValidator>(); - services.AddSingleton, RequestHandlerSettingsValidator>(); - - services.Configure(configuration.GetSection(Constants.Configuration.ConfigActiveDirectory)); - services.Configure(configuration.GetSection("ConnectionStrings"), o => o.BindNonPublicProperties = true); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigContent)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigCoreDebug)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigExceptionFilter)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigGlobal)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigHealthChecks)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigHosting)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigImaging)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigExamine)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigKeepAlive)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigLogging)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigMemberPassword)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigModelsBuilder), o => o.BindNonPublicProperties = true); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigNuCache)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigRequestHandler)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigRuntime)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigSecurity)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigTours)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigTypeFinder)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigUserPassword)); - services.Configure(configuration.GetSection(Constants.Configuration.ConfigWebRouting)); + services.AddHostedService(); + services.AddHostedService(); return services; } /// - /// Adds the Umbraco Back Core requirements + /// Adds HTTP clients for Umbraco. /// /// - /// - /// /// - public static IServiceCollection AddUmbracoCore(this IServiceCollection services, IWebHostEnvironment webHostEnvironment, IConfiguration configuration) + public static IServiceCollection AddUmbracoHttpClients(this IServiceCollection services) { - return services.AddUmbracoCore(webHostEnvironment, configuration, out _); - } - - /// - /// Adds the Umbraco Back Core requirements - /// - /// - /// - /// - /// - /// - public static IServiceCollection AddUmbracoCore(this IServiceCollection services, IWebHostEnvironment webHostEnvironment, IConfiguration configuration, out IFactory factory) - { - - var loggingConfig = new LoggingConfiguration( - Path.Combine(webHostEnvironment.ContentRootPath, "umbraco", "logs")); - - IHttpContextAccessor httpContextAccessor = new HttpContextAccessor(); - services.AddSingleton(httpContextAccessor); - services.AddSingleton(loggingConfig); - - var requestCache = new GenericDictionaryRequestAppCache(() => httpContextAccessor.HttpContext?.Items); - var appCaches = new AppCaches( - new DeepCloneAppCache(new ObjectCacheAppCache()), - requestCache, - new IsolatedCaches(type => new DeepCloneAppCache(new ObjectCacheAppCache()))); - - /* TODO: MSDI - Post initial merge we can clean up a lot. - * Change the method signatures lower down - * Or even just remove IRegister / IFactory interfaces entirely. - * If we try to do it immediately, merging becomes a nightmare. - */ - var register = new ServiceCollectionRegistryAdapter(services); - - services.AddUmbracoCore(webHostEnvironment, - register, - Assembly.GetEntryAssembly(), - appCaches, - loggingConfig, - configuration, - GetCoreRuntime, - out factory); - - return services; - } - - /// - /// Adds the Umbraco Back Core requirements - /// - /// - /// - /// - /// - /// - /// - /// - /// Delegate to create an - /// - /// - public static IServiceCollection AddUmbracoCore( - this IServiceCollection services, - IWebHostEnvironment webHostEnvironment, - IRegister umbContainer, - Assembly entryAssembly, - AppCaches appCaches, - ILoggingConfiguration loggingConfiguration, - IConfiguration configuration, - //TODO: Yep that's extremely ugly - Func getRuntime, - out IFactory factory) - { - if (services is null) throw new ArgumentNullException(nameof(services)); - var container = umbContainer; - if (container is null) throw new ArgumentNullException(nameof(container)); - if (entryAssembly is null) throw new ArgumentNullException(nameof(entryAssembly)); - - // Add service session - // This can be overwritten by the user by adding their own call to AddSession - // since the last call of AddSession take precedence - services.AddSession(options => - { - options.Cookie.Name = "UMB_SESSION"; - options.Cookie.HttpOnly = true; - }); - - // Add supported databases - services.AddUmbracoSqlCeSupport(); - services.AddUmbracoSqlServerSupport(); - - services.AddSingleton(x => new DbProviderFactoryCreator( - DbProviderFactories.GetFactory, - x.GetServices(), - x.GetServices(), - x.GetServices() - )); - - // TODO: We want to avoid pre-resolving a container as much as possible we should not - // be doing this any more than we are now. The ugly part about this is that the service - // instances resolved here won't be the same instances resolved from the container - // later once the true container is built. However! ... in the case of IDbProviderFactoryCreator - // it will be the same instance resolved later because we are re-registering this instance back - // into the container. This is not true for `Configs` but we should do that too, see comments in - // `RegisterEssentials`. - var serviceProvider = services.BuildServiceProvider(); - - var globalSettings = serviceProvider.GetService>(); - var connectionStrings = serviceProvider.GetService>(); - var hostingSettings = serviceProvider.GetService>(); - var typeFinderSettings = serviceProvider.GetService>(); - - var dbProviderFactoryCreator = serviceProvider.GetRequiredService(); - - CreateCompositionRoot(services, - globalSettings, - hostingSettings, - webHostEnvironment, - loggingConfiguration, - configuration, out var ioHelper, out var hostingEnvironment, out var backOfficeInfo, out var profiler); - - var loggerFactory = services.BuildServiceProvider().GetService(); - - var umbracoVersion = new UmbracoVersion(); - var typeFinder = CreateTypeFinder(loggerFactory, profiler, webHostEnvironment, entryAssembly, typeFinderSettings); - - var coreRuntime = getRuntime( - globalSettings.CurrentValue, - connectionStrings.Value, - umbracoVersion, - ioHelper, - loggerFactory, - profiler, - hostingEnvironment, - backOfficeInfo, - typeFinder, - appCaches, - dbProviderFactoryCreator); - - factory = coreRuntime.Configure(container); - + services.AddHttpClient(); return services; } @@ -319,7 +324,7 @@ namespace Umbraco.Extensions return new TypeFinder(loggerFactory.CreateLogger(), new DefaultUmbracoAssemblyProvider(entryAssembly), runtimeHash, new TypeFinderConfig(typeFinderSettings)); } - private static IRuntime GetCoreRuntime( + private static CoreRuntimeBootstrapper GetCoreRuntime( GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo, ITypeFinder typeFinder, AppCaches appCaches, IDbProviderFactoryCreator dbProviderFactoryCreator) @@ -334,7 +339,7 @@ namespace Umbraco.Extensions var mainDom = new MainDom(loggerFactory.CreateLogger(), mainDomLock); - var coreRuntime = new CoreRuntime( + var coreRuntime = new CoreRuntimeBootstrapper( globalSettings, connectionStrings, umbracoVersion, @@ -382,7 +387,7 @@ namespace Umbraco.Extensions /// private static void AddLogger( IServiceCollection services, - Core.Hosting.IHostingEnvironment hostingEnvironment, + IHostingEnvironment hostingEnvironment, ILoggingConfiguration loggingConfiguration, IConfiguration configuration) { diff --git a/src/Umbraco.Web.Common/Extensions/UmbracoWebServiceCollectionExtensions.cs b/src/Umbraco.Web.Common/Extensions/UmbracoWebServiceCollectionExtensions.cs index 37ac5c7683..fdab7d7169 100644 --- a/src/Umbraco.Web.Common/Extensions/UmbracoWebServiceCollectionExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/UmbracoWebServiceCollectionExtensions.cs @@ -25,17 +25,14 @@ namespace Umbraco.Extensions /// Registers the web components needed for Umbraco /// /// + /// /// - public static IServiceCollection AddUmbracoWebComponents(this IServiceCollection services) + public static IServiceCollection AddUmbracoWebComponents(this IServiceCollection services, IConfiguration configuration) { services.ConfigureOptions(); services.TryAddEnumerable(ServiceDescriptor.Transient()); services.TryAddEnumerable(ServiceDescriptor.Transient()); - - // TODO: We need to avoid this, surely there's a way? See ContainerTests.BuildServiceProvider_Before_Host_Is_Configured - var serviceProvider = services.BuildServiceProvider(); - var imagingSettings = serviceProvider.GetService>().Value; - services.AddUmbracoImageSharp(imagingSettings); + services.AddUmbracoImageSharp(configuration); return services; } @@ -44,10 +41,12 @@ namespace Umbraco.Extensions /// Adds Image Sharp with Umbraco settings /// /// - /// + /// /// - public static IServiceCollection AddUmbracoImageSharp(this IServiceCollection services, ImagingSettings imagingSettings) + public static IServiceCollection AddUmbracoImageSharp(this IServiceCollection services, IConfiguration configuration) { + var imagingSettings = configuration.GetSection(Core.Constants.Configuration.ConfigImaging) + .Get() ?? new ImagingSettings(); services.AddImageSharp(options => { @@ -62,7 +61,7 @@ namespace Umbraco.Extensions return Task.CompletedTask; }; - options.OnBeforeSaveAsync = _ => Task.CompletedTask; + options.OnBeforeSaveAsync = _ => Task.CompletedTask; options.OnProcessedAsync = _ => Task.CompletedTask; options.OnPrepareResponseAsync = _ => Task.CompletedTask; }) diff --git a/src/Umbraco.Web.Common/Extensions/ViewContextExtensions.cs b/src/Umbraco.Web.Common/Extensions/ViewContextExtensions.cs new file mode 100644 index 0000000000..17a9d048fc --- /dev/null +++ b/src/Umbraco.Web.Common/Extensions/ViewContextExtensions.cs @@ -0,0 +1,75 @@ +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +namespace Umbraco.Extensions +{ + public static class ViewContextExtensions + { + /// + /// Creates a new ViewContext from an existing one but specifies a new Model for the ViewData + /// + /// + /// + /// + public static ViewContext CopyWithModel(this ViewContext vc, object model) + { + return new ViewContext + { + View = vc.View, + Writer = vc.Writer, + ActionDescriptor = vc.ActionDescriptor, + FormContext = vc.FormContext, + HttpContext = vc.HttpContext, + RouteData = vc.RouteData, + TempData = vc.TempData, + ViewData = new ViewDataDictionary(vc.ViewData) + { + Model = model + }, + ClientValidationEnabled = vc.ClientValidationEnabled, + ExecutingFilePath = vc.ExecutingFilePath, + ValidationMessageElement = vc.ValidationMessageElement, + Html5DateRenderingMode = vc.Html5DateRenderingMode, + ValidationSummaryMessageElement = vc.ValidationSummaryMessageElement + }; + } + + public static ViewContext Clone(this ViewContext vc) + { + return new ViewContext + { + View = vc.View, + Writer = vc.Writer, + ActionDescriptor = vc.ActionDescriptor, + FormContext = vc.FormContext, + HttpContext = vc.HttpContext, + RouteData = vc.RouteData, + TempData = vc.TempData, + ViewData = new ViewDataDictionary(vc.ViewData), + ClientValidationEnabled = vc.ClientValidationEnabled, + ExecutingFilePath = vc.ExecutingFilePath, + ValidationMessageElement = vc.ValidationMessageElement, + Html5DateRenderingMode = vc.Html5DateRenderingMode, + ValidationSummaryMessageElement = vc.ValidationSummaryMessageElement + }; + } + + //public static ViewContext CloneWithWriter(this ViewContext vc, TextWriter writer) + //{ + // return new ViewContext + // { + // Controller = vc.Controller, + // HttpContext = vc.HttpContext, + // RequestContext = vc.RequestContext, + // RouteData = vc.RouteData, + // TempData = vc.TempData, + // View = vc.View, + // ViewData = vc.ViewData, + // FormContext = vc.FormContext, + // ClientValidationEnabled = vc.ClientValidationEnabled, + // UnobtrusiveJavaScriptEnabled = vc.UnobtrusiveJavaScriptEnabled, + // Writer = writer + // }; + //} + } +} diff --git a/src/Umbraco.Web.Common/Filters/UmbracoAuthorizeAttribute.cs b/src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeAttribute.cs similarity index 66% rename from src/Umbraco.Web.Common/Filters/UmbracoAuthorizeAttribute.cs rename to src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeAttribute.cs index 8a7c7b04d5..1f4abbaa25 100644 --- a/src/Umbraco.Web.Common/Filters/UmbracoAuthorizeAttribute.cs +++ b/src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeAttribute.cs @@ -5,12 +5,12 @@ namespace Umbraco.Web.Common.Filters /// /// Ensures authorization is successful for a back office user. /// - public class UmbracoAuthorizeAttribute : TypeFilterAttribute + public class UmbracoBackOfficeAuthorizeAttribute : TypeFilterAttribute { /// /// Default constructor /// - public UmbracoAuthorizeAttribute() : this(false, false) + public UmbracoBackOfficeAuthorizeAttribute() : this(false, false) { } @@ -20,7 +20,7 @@ namespace Umbraco.Web.Common.Filters /// /// - public UmbracoAuthorizeAttribute(bool redirectToUmbracoLogin, bool requireApproval) : base(typeof(UmbracoAuthorizeFilter)) + public UmbracoBackOfficeAuthorizeAttribute(bool redirectToUmbracoLogin, bool requireApproval) : base(typeof(UmbracoBackOfficeAuthorizeFilter)) { Arguments = new object[] { redirectToUmbracoLogin, requireApproval }; } @@ -29,7 +29,7 @@ namespace Umbraco.Web.Common.Filters /// Constructor with redirect url behavior /// /// - public UmbracoAuthorizeAttribute(string redirectUrl) : base(typeof(UmbracoAuthorizeFilter)) + public UmbracoBackOfficeAuthorizeAttribute(string redirectUrl) : base(typeof(UmbracoBackOfficeAuthorizeFilter)) { Arguments = new object[] { redirectUrl }; } diff --git a/src/Umbraco.Web.Common/Filters/UmbracoAuthorizeFilter.cs b/src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeFilter.cs similarity index 94% rename from src/Umbraco.Web.Common/Filters/UmbracoAuthorizeFilter.cs rename to src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeFilter.cs index bde15b0f65..05d46b431a 100644 --- a/src/Umbraco.Web.Common/Filters/UmbracoAuthorizeFilter.cs +++ b/src/Umbraco.Web.Common/Filters/UmbracoBackOfficeAuthorizeFilter.cs @@ -14,7 +14,7 @@ namespace Umbraco.Web.Common.Filters /// /// Ensures authorization is successful for a back office user. /// - public class UmbracoAuthorizeFilter : IAuthorizationFilter + public class UmbracoBackOfficeAuthorizeFilter : IAuthorizationFilter { private readonly bool _requireApproval; @@ -29,7 +29,7 @@ namespace Umbraco.Web.Common.Filters private readonly bool _redirectToUmbracoLogin; private string _redirectUrl; - private UmbracoAuthorizeFilter( + private UmbracoBackOfficeAuthorizeFilter( IHostingEnvironment hostingEnvironment, IUmbracoContextAccessor umbracoContext, IRuntimeState runtimeState, LinkGenerator linkGenerator, @@ -52,7 +52,7 @@ namespace Umbraco.Web.Common.Filters /// /// /// - public UmbracoAuthorizeFilter( + public UmbracoBackOfficeAuthorizeFilter( IHostingEnvironment hostingEnvironment, IUmbracoContextAccessor umbracoContext, IRuntimeState runtimeState, LinkGenerator linkGenerator, @@ -60,7 +60,7 @@ namespace Umbraco.Web.Common.Filters { } - public UmbracoAuthorizeFilter( + public UmbracoBackOfficeAuthorizeFilter( IHostingEnvironment hostingEnvironment, IUmbracoContextAccessor umbracoContext, IRuntimeState runtimeState, LinkGenerator linkGenerator, diff --git a/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeAttribute.cs b/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeAttribute.cs new file mode 100644 index 0000000000..cc6058121b --- /dev/null +++ b/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeAttribute.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Umbraco.Web.Common.Filters +{ + /// + /// Ensures authorization is successful for a website user (member). + /// + public class UmbracoMemberAuthorizeAttribute : TypeFilterAttribute + { + public UmbracoMemberAuthorizeAttribute() : this(string.Empty, string.Empty, string.Empty) + { + } + + public UmbracoMemberAuthorizeAttribute(string allowType, string allowGroup, string allowMembers) : base(typeof(UmbracoMemberAuthorizeFilter)) + { + Arguments = new object[] { allowType, allowGroup, allowMembers}; + } + + } +} diff --git a/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeFilter.cs b/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeFilter.cs new file mode 100644 index 0000000000..27c2922637 --- /dev/null +++ b/src/Umbraco.Web.Common/Filters/UmbracoMemberAuthorizeFilter.cs @@ -0,0 +1,69 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using System.Collections.Generic; +using Umbraco.Core; +using Umbraco.Extensions; + +namespace Umbraco.Web.Common.Filters +{ + + /// + /// Ensures authorization is successful for a back office user. + /// + public class UmbracoMemberAuthorizeFilter : IAuthorizationFilter + { + /// + /// Comma delimited list of allowed member types + /// + public string AllowType { get; private set;} + + /// + /// Comma delimited list of allowed member groups + /// + public string AllowGroup { get; private set;} + + /// + /// Comma delimited list of allowed members + /// + public string AllowMembers { get; private set; } + + + private UmbracoMemberAuthorizeFilter( + string allowType, string allowGroup, string allowMembers) + { + AllowType = allowType; + AllowGroup = allowGroup; + AllowMembers = allowMembers; + } + + public void OnAuthorization(AuthorizationFilterContext context) + { + if (!IsAuthorized()) + { + context.HttpContext.SetReasonPhrase("Resource restricted: either member is not logged on or is not of a permitted type or group."); + context.Result = new ForbidResult(); + } + } + + private bool IsAuthorized() + { + if (AllowMembers.IsNullOrWhiteSpace()) + AllowMembers = ""; + if (AllowGroup.IsNullOrWhiteSpace()) + AllowGroup = ""; + if (AllowType.IsNullOrWhiteSpace()) + AllowType = ""; + + var members = new List(); + foreach (var s in AllowMembers.Split(',')) + { + if (int.TryParse(s, out var id)) + { + members.Add(id); + } + } + + return false;// TODO reintroduce when members are implemented: _memberHelper.IsMemberAuthorized(AllowType.Split(','), AllowGroup.Split(','), members); + } + } +} diff --git a/src/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringAttribute.cs b/src/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringAttribute.cs new file mode 100644 index 0000000000..45806b9d18 --- /dev/null +++ b/src/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringAttribute.cs @@ -0,0 +1,74 @@ +using System; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Controllers; +using Microsoft.AspNetCore.Mvc.Filters; +using Umbraco.Core; +using Umbraco.Web.Common.Constants; +using Umbraco.Web.Common.Exceptions; +using Umbraco.Web.Common.Security; + +namespace Umbraco.Web.Common.Filters +{ + + /// + /// Attribute used to check that the request contains a valid Umbraco form request string. + /// + /// + /// Applying this attribute/filter to a or SurfaceController Action will ensure that the Action can only be executed + /// when it is routed to from within Umbraco, typically when rendering a form with BeginUmbracoForm. It will mean that the natural MVC route for this Action + /// will fail with a . + /// + public class ValidateUmbracoFormRouteStringAttribute : TypeFilterAttribute + { + + public ValidateUmbracoFormRouteStringAttribute() : base(typeof(ValidateUmbracoFormRouteStringFilter)) + { + Arguments = new object[] { }; + } + + internal class ValidateUmbracoFormRouteStringFilter: IAuthorizationFilter + { + private readonly IDataProtectionProvider _dataProtectionProvider; + + public ValidateUmbracoFormRouteStringFilter(IDataProtectionProvider dataProtectionProvider) + { + _dataProtectionProvider = dataProtectionProvider; + } + + public void OnAuthorization(AuthorizationFilterContext context) + { + if (context == null) throw new ArgumentNullException(nameof(context)); + + var ufprt = context.HttpContext.Request.Form["ufprt"]; + + if (context.ActionDescriptor is ControllerActionDescriptor controllerActionDescriptor) + { + ValidateRouteString(ufprt, controllerActionDescriptor.ControllerName, controllerActionDescriptor.ActionName, context.RouteData?.DataTokens["area"]?.ToString()); + } + + } + + public void ValidateRouteString(string ufprt, string currentController, string currentAction, string currentArea) + { + if (ufprt.IsNullOrWhiteSpace()) + { + throw new HttpUmbracoFormRouteStringException("The required request field \"ufprt\" is not present."); + } + + if (!EncryptionHelper.DecryptAndValidateEncryptedRouteString(_dataProtectionProvider, ufprt, out var additionalDataParts)) + { + throw new HttpUmbracoFormRouteStringException("The Umbraco form request route string could not be decrypted."); + } + + if (!additionalDataParts[ViewConstants.ReservedAdditionalKeys.Controller].InvariantEquals(currentController) || + !additionalDataParts[ViewConstants.ReservedAdditionalKeys.Action].InvariantEquals(currentAction) || + (!additionalDataParts[ViewConstants.ReservedAdditionalKeys.Area].IsNullOrWhiteSpace() && !additionalDataParts[ViewConstants.ReservedAdditionalKeys.Area].InvariantEquals(currentArea))) + { + throw new HttpUmbracoFormRouteStringException("The provided Umbraco form request route string was meant for a different controller and action."); + } + + } + } + } +} diff --git a/src/Umbraco.Web.Common/Formatters/AngularJsonMediaTypeFormatter.cs b/src/Umbraco.Web.Common/Formatters/AngularJsonMediaTypeFormatter.cs index d3e5882688..3dd5e8330f 100644 --- a/src/Umbraco.Web.Common/Formatters/AngularJsonMediaTypeFormatter.cs +++ b/src/Umbraco.Web.Common/Formatters/AngularJsonMediaTypeFormatter.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Formatters; using Newtonsoft.Json; using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Serialization; +using Umbraco.Core.Serialization; namespace Umbraco.Web.Common.Formatters { @@ -19,7 +19,7 @@ namespace Umbraco.Web.Common.Formatters public const string XsrfPrefix = ")]}',\n"; public AngularJsonMediaTypeFormatter(JsonSerializerSettings serializerSettings, ArrayPool charPool, MvcOptions mvcOptions) - : base(serializerSettings, charPool, mvcOptions) + : base(RegisterJsonConverters(serializerSettings), charPool, mvcOptions) { } @@ -32,5 +32,13 @@ namespace Umbraco.Web.Common.Formatters return jsonWriter; } + + protected static JsonSerializerSettings RegisterJsonConverters(JsonSerializerSettings serializerSettings) + { + serializerSettings.Converters.Add(new StringEnumConverter()); + serializerSettings.Converters.Add(new UdiJsonConverter()); + + return serializerSettings; + } } } diff --git a/src/Umbraco.Web.Common/ModelBinding/UmbracoJsonModelBinderProvider.cs b/src/Umbraco.Web.Common/ModelBinding/UmbracoJsonModelBinderProvider.cs index 94b5b37c82..7ec61656fb 100644 --- a/src/Umbraco.Web.Common/ModelBinding/UmbracoJsonModelBinderProvider.cs +++ b/src/Umbraco.Web.Common/ModelBinding/UmbracoJsonModelBinderProvider.cs @@ -6,9 +6,6 @@ using Microsoft.AspNetCore.Mvc.ModelBinding.Binders; using Microsoft.Extensions.Logging; using Microsoft.Extensions.ObjectPool; using System.Buffers; -using System.Reflection; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; using Umbraco.Web.Common.Formatters; namespace Umbraco.Web.Common.ModelBinding @@ -45,7 +42,5 @@ namespace Umbraco.Web.Common.ModelBinding jsonOptions) }; } - - } } diff --git a/src/Umbraco.Web/HtmlStringUtilities.cs b/src/Umbraco.Web.Common/Mvc/HtmlStringUtilities.cs similarity index 97% rename from src/Umbraco.Web/HtmlStringUtilities.cs rename to src/Umbraco.Web.Common/Mvc/HtmlStringUtilities.cs index cbeff72acf..204bb61425 100644 --- a/src/Umbraco.Web/HtmlStringUtilities.cs +++ b/src/Umbraco.Web.Common/Mvc/HtmlStringUtilities.cs @@ -5,8 +5,9 @@ using System.Linq; using System.Text; using System.Web; using HtmlAgilityPack; +using Microsoft.AspNetCore.Html; -namespace Umbraco.Web +namespace Umbraco.Web.Common.Mvc { /// /// Provides utility methods for UmbracoHelper for working with strings and HTML in views. @@ -20,7 +21,7 @@ namespace Umbraco.Web /// /// The HTML encoded text with text line breaks replaced with HTML line breaks (<br />). /// - public IHtmlString ReplaceLineBreaks(string text) + public IHtmlContent ReplaceLineBreaks(string text) { var value = HttpUtility.HtmlEncode(text)? .Replace("\r\n", "
") @@ -63,7 +64,7 @@ namespace Umbraco.Web return new HtmlString(doc.DocumentNode.FirstChild.InnerHtml.Replace(" ", " ")); } - internal string Join(string separator, params object[] args) + public string Join(string separator, params object[] args) { var results = args .Where(x => x != null) @@ -72,7 +73,7 @@ namespace Umbraco.Web return string.Join(separator, results); } - internal string Concatenate(params object[] args) + public string Concatenate(params object[] args) { var sb = new StringBuilder(); foreach (var arg in args @@ -85,7 +86,7 @@ namespace Umbraco.Web return sb.ToString(); } - internal string Coalesce(params object[] args) + public string Coalesce(params object[] args) { var arg = args .Where(x => x != null) @@ -95,7 +96,7 @@ namespace Umbraco.Web return arg ?? string.Empty; } - public IHtmlString Truncate(string html, int length, bool addElipsis, bool treatTagsAsContent) + public IHtmlContent Truncate(string html, int length, bool addElipsis, bool treatTagsAsContent) { const string hellip = "…"; diff --git a/src/Umbraco.Web.Common/Profiler/WebProfilerComposer.cs b/src/Umbraco.Web.Common/Profiler/WebProfilerComposer.cs index edb3db6f85..fd8f275291 100644 --- a/src/Umbraco.Web.Common/Profiler/WebProfilerComposer.cs +++ b/src/Umbraco.Web.Common/Profiler/WebProfilerComposer.cs @@ -9,7 +9,7 @@ namespace Umbraco.Web.Common.Profiler { base.Compose(composition); - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Web.Common/Runtime/AspNetCoreBootFailedComposer.cs b/src/Umbraco.Web.Common/Runtime/AspNetCoreBootFailedComposer.cs index 010e6533d9..fa2e090578 100644 --- a/src/Umbraco.Web.Common/Runtime/AspNetCoreBootFailedComposer.cs +++ b/src/Umbraco.Web.Common/Runtime/AspNetCoreBootFailedComposer.cs @@ -12,7 +12,7 @@ namespace Umbraco.Web.Common.Runtime { public void Compose(Composition composition) { - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs b/src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs index 62954e4dc6..d2631ac0f5 100644 --- a/src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs +++ b/src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs @@ -1,5 +1,6 @@ using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Core; using Umbraco.Core.Composing; @@ -44,39 +45,37 @@ namespace Umbraco.Web.Common.Runtime base.Compose(composition); // AspNetCore specific services - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // Our own netcore implementations - composition.RegisterMultipleUnique(); + composition.Services.AddMultipleUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); // The umbraco request lifetime - composition.RegisterMultipleUnique(); + composition.Services.AddMultipleUnique(); - //Password hasher - composition.RegisterUnique(); + // Password hasher + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddTransient(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.Register(); - composition.RegisterUnique(); + composition.Services.AddMultipleUnique(); - composition.RegisterMultipleUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - - composition.RegisterUnique(); - - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // register the umbraco context factory - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); //register the install components //NOTE: i tried to not have these registered if we weren't installing or upgrading but post install when the site restarts @@ -88,17 +87,17 @@ namespace Umbraco.Web.Common.Runtime .Add(umbracoApiControllerTypes); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); + composition.Services.AddUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.RegisterUnique(factory => new LegacyPasswordSecurity()); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddUnique(factory => new LegacyPasswordSecurity()); } } } diff --git a/src/Umbraco.Web.Common/RuntimeMinification/SmidgeComposer.cs b/src/Umbraco.Web.Common/RuntimeMinification/SmidgeComposer.cs index 0cb7bc71d2..3400ee49d9 100644 --- a/src/Umbraco.Web.Common/RuntimeMinification/SmidgeComposer.cs +++ b/src/Umbraco.Web.Common/RuntimeMinification/SmidgeComposer.cs @@ -1,4 +1,5 @@ -using Smidge.FileProcessors; +using Microsoft.Extensions.DependencyInjection; +using Smidge.FileProcessors; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Runtime; @@ -10,14 +11,12 @@ namespace Umbraco.Web.Common.RuntimeMinification { public void Compose(Composition composition) { - // TODO: For this to work we need to have services.AddSmidge() based on the Smidge APIs but our composer APIs don't really let us do that // This makes it a bit awkward to boot the runtime since that call would need to be made outside of the composer... .hrm... - - composition.RegisterUnique(); - composition.RegisterUnique(); - composition.Register(); + composition.Services.AddUnique(); + composition.Services.AddUnique(); + composition.Services.AddTransient(); } } } diff --git a/src/Umbraco.Web.Common/Security/EncryptionHelper.cs b/src/Umbraco.Web.Common/Security/EncryptionHelper.cs new file mode 100644 index 0000000000..300afd530d --- /dev/null +++ b/src/Umbraco.Web.Common/Security/EncryptionHelper.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Web; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.Extensions.Logging; +using Umbraco.Core; +using Umbraco.Web.Common.Constants; + +namespace Umbraco.Web.Common.Security +{ + public class EncryptionHelper + { + private static IDataProtector CreateDataProtector(IDataProtectionProvider dataProtectionProvider) + { + return dataProtectionProvider.CreateProtector(nameof(EncryptionHelper)); + } + + public static string Decrypt(string encryptedString, IDataProtectionProvider dataProtectionProvider) + { + return CreateDataProtector(dataProtectionProvider).Unprotect(encryptedString); + } + + public static string Encrypt(string plainString, IDataProtectionProvider dataProtectionProvider) + { + return CreateDataProtector(dataProtectionProvider).Protect(plainString); + } + + /// + /// This is used in methods like BeginUmbracoForm and SurfaceAction to generate an encrypted string which gets submitted in a request for which + /// Umbraco can decrypt during the routing process in order to delegate the request to a specific MVC Controller. + /// + /// + /// + /// + /// + /// + /// + public static string CreateEncryptedRouteString(IDataProtectionProvider dataProtectionProvider, string controllerName, string controllerAction, string area, object additionalRouteVals = null) + { + if (dataProtectionProvider == null) throw new ArgumentNullException(nameof(dataProtectionProvider)); + if (controllerName == null) throw new ArgumentNullException(nameof(controllerName)); + if (string.IsNullOrEmpty(controllerName)) throw new ArgumentException("Value can't be empty.", nameof(controllerName)); + if (controllerAction == null) throw new ArgumentNullException(nameof(controllerAction)); + if (string.IsNullOrEmpty(controllerAction)) throw new ArgumentException("Value can't be empty.", nameof(controllerAction)); + if (area == null) throw new ArgumentNullException(nameof(area)); + + //need to create a params string as Base64 to put into our hidden field to use during the routes + var surfaceRouteParams = $"{ViewConstants.ReservedAdditionalKeys.Controller}={WebUtility.UrlEncode(controllerName)}&{ViewConstants.ReservedAdditionalKeys.Action}={WebUtility.UrlEncode(controllerAction)}&{ViewConstants.ReservedAdditionalKeys.Area}={area}"; + + //checking if the additional route values is already a dictionary and convert to querystring + string additionalRouteValsAsQuery; + if (additionalRouteVals != null) + { + if (additionalRouteVals is Dictionary additionalRouteValsAsDictionary) + additionalRouteValsAsQuery = additionalRouteValsAsDictionary.ToQueryString(); + else + additionalRouteValsAsQuery = additionalRouteVals.ToDictionary().ToQueryString(); + } + else + additionalRouteValsAsQuery = null; + + if (additionalRouteValsAsQuery.IsNullOrWhiteSpace() == false) + surfaceRouteParams += "&" + additionalRouteValsAsQuery; + + return Encrypt(surfaceRouteParams, dataProtectionProvider); + } + + public static bool DecryptAndValidateEncryptedRouteString(IDataProtectionProvider dataProtectionProvider, string encryptedString, out IDictionary parts) + { + if (dataProtectionProvider == null) throw new ArgumentNullException(nameof(dataProtectionProvider)); + string decryptedString; + try + { + decryptedString = Decrypt(encryptedString, dataProtectionProvider); + } + catch (Exception) + { + StaticApplicationLogging.Logger.LogWarning("A value was detected in the ufprt parameter but Umbraco could not decrypt the string"); + parts = null; + return false; + } + var parsedQueryString = HttpUtility.ParseQueryString(decryptedString); + parts = new Dictionary(); + foreach (var key in parsedQueryString.AllKeys) + { + parts[key] = parsedQueryString[key]; + } + //validate all required keys exist + //the controller + if (parts.All(x => x.Key != ViewConstants.ReservedAdditionalKeys.Controller)) + return false; + //the action + if (parts.All(x => x.Key != ViewConstants.ReservedAdditionalKeys.Action)) + return false; + //the area + if (parts.All(x => x.Key != ViewConstants.ReservedAdditionalKeys.Area)) + return false; + + return true; + } + } +} diff --git a/src/Umbraco.Web.UI.Client/src/common/services/notifications.service.js b/src/Umbraco.Web.UI.Client/src/common/services/notifications.service.js index 000ba05f1e..ad02520c5a 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/notifications.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/notifications.service.js @@ -2,12 +2,12 @@ * @ngdoc service * @name umbraco.services.notificationsService * - * @requires $rootScope + * @requires $rootScope * @requires $timeout * @requires angularHelper - * + * * @description - * Application-wide service for handling notifications, the umbraco application + * Application-wide service for handling notifications, the umbraco application * maintains a single collection of notications, which the UI watches for changes. * By default when a notication is added, it is automaticly removed 7 seconds after * This can be changed on add() @@ -19,7 +19,7 @@ *
  *		notificationsService.success("Document Published", "hooraaaay for you!");
  *      notificationsService.error("Document Failed", "booooh");
- * 
+ * */ angular.module('umbraco.services') .factory('notificationsService', function ($rootScope, $timeout, angularHelper) { @@ -50,7 +50,7 @@ angular.module('umbraco.services') * @param {Object} item The notification item * @param {String} item.headline Short headline * @param {String} item.message longer text for the notication, trimmed after 200 characters, which can then be exanded - * @param {String} item.type Notification type, can be: "success","warning","error" or "info" + * @param {String} item.type Notification type, can be: "success","warning","error" or "info" * @param {String} item.url url to open when notification is clicked * @param {String} item.target the target used together with `url`. Empty if not specified. * @param {String} item.view path to custom view to load into the notification box @@ -76,10 +76,10 @@ angular.module('umbraco.services') if(item.message.length > 200) { item.sticky = true; } - } - - //we need to ID the item, going by index isn't good enough because people can remove at different indexes - // whenever they want. Plus once we remove one, then the next index will be different. The only way to + } + + //we need to ID the item, going by index isn't good enough because people can remove at different indexes + // whenever they want. Plus once we remove one, then the next index will be different. The only way to // effectively remove an item is by an Id. item.id = String.CreateGuid(); @@ -110,7 +110,7 @@ angular.module('umbraco.services') }else{ view = setViewPath(view).toLowerCase(); return _.find(nArray, function(notification){ return notification.view.toLowerCase() === view;}); - } + } }, addView: function(view, args){ var item = { @@ -128,7 +128,7 @@ angular.module('umbraco.services') * * @description * Shows a notification based on the object passed in, normally used to render notifications sent back from the server - * + * * @returns {Object} args notification object */ showNotification: function(args) { @@ -141,25 +141,30 @@ angular.module('umbraco.services') if (!args.header) { throw "args.header cannot be null"; } - + switch(args.type) { case 0: + case 'Save': //save this.success(args.header, args.message); break; case 1: + case 'Info': //info this.info(args.header, args.message); break; case 2: + case 'Error': //error this.error(args.header, args.message); break; case 3: + case 'Success': //success this.success(args.header, args.message); break; case 4: + case 'Warning': //warning this.warning(args.header, args.message); break; @@ -190,7 +195,7 @@ angular.module('umbraco.services') * @description * Adds a red error notication to the notications collection * This should be used when an operations *fails* and could not complete - * + * * @param {String} headline Headline of the notification * @param {String} message longer text for the notication, trimmed after 200 characters, which can then be exanded * @returns {Object} notification object @@ -207,7 +212,7 @@ angular.module('umbraco.services') * @description * Adds a yellow warning notication to the notications collection * This should be used when an operations *completes* but something was not as expected - * + * * * @param {String} headline Headline of the notification * @param {String} message longer text for the notication, trimmed after 200 characters, which can then be exanded @@ -225,7 +230,7 @@ angular.module('umbraco.services') * @description * Adds a yellow warning notication to the notications collection * This should be used when an operations *completes* but something was not as expected - * + * * * @param {String} headline Headline of the notification * @param {String} message longer text for the notication, trimmed after 200 characters, which can then be exanded @@ -241,7 +246,7 @@ angular.module('umbraco.services') * @methodOf umbraco.services.notificationsService * * @description - * Removes a notification from the notifcations collection at a given index + * Removes a notification from the notifcations collection at a given index * * @param {Int} index index where the notication should be removed from */ @@ -254,7 +259,7 @@ angular.module('umbraco.services') }else{ angularHelper.safeApply($rootScope, function() { nArray.splice(index, 1); - }); + }); } }, @@ -264,7 +269,7 @@ angular.module('umbraco.services') * @methodOf umbraco.services.notificationsService * * @description - * Removes all notifications from the notifcations collection + * Removes all notifications from the notifcations collection */ removeAll: function () { angularHelper.safeApply($rootScope, function() { @@ -290,7 +295,7 @@ angular.module('umbraco.services') * @methodOf umbraco.services.notificationsService * * @description - * Method to return all notifications from the notifcations collection + * Method to return all notifications from the notifcations collection */ getCurrent: function(){ return nArray; diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/database.html b/src/Umbraco.Web.UI.Client/src/installer/steps/database.html index ebffc4cf97..2c81f3ddf3 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/steps/database.html +++ b/src/Umbraco.Web.UI.Client/src/installer/steps/database.html @@ -17,11 +17,11 @@ -
+

Great! No need to configure anything, you can simply click the continue button below to continue to the next step

-
+
What is the exact connection string we should use?
@@ -32,7 +32,7 @@
-
+
Where do we find your database?
@@ -40,7 +40,7 @@
Enter server domain or IP
@@ -86,7 +86,7 @@
-
+
@@ -103,10 +103,10 @@
diff --git a/src/Umbraco.Web.UI.NetCore/Startup.cs b/src/Umbraco.Web.UI.NetCore/Startup.cs index b4ef7f59ec..2a4d4a4580 100644 --- a/src/Umbraco.Web.UI.NetCore/Startup.cs +++ b/src/Umbraco.Web.UI.NetCore/Startup.cs @@ -49,6 +49,7 @@ namespace Umbraco.Web.UI.NetCore } app.UseUmbraco(); + app.UseUmbracoWebsite(); } } } diff --git a/src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj b/src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj index 1af278cbc3..6cc92f18da 100644 --- a/src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj +++ b/src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj @@ -24,7 +24,6 @@ - @@ -55,6 +54,7 @@ Always + diff --git a/src/Umbraco.Web.UI.NetCore/appsettings.json b/src/Umbraco.Web.UI.NetCore/appsettings.json index 145ab2a987..00bd04c0b4 100644 --- a/src/Umbraco.Web.UI.NetCore/appsettings.json +++ b/src/Umbraco.Web.UI.NetCore/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "umbracoDbDSN": "Server=(LocalDB)\\Umbraco;Database=NetCore;Integrated Security=true" + "umbracoDbDSN": "" }, "Serilog": { "MinimumLevel": { @@ -39,7 +39,7 @@ }, "RuntimeMinification": { "dataFolder": "App_Data/TEMP/Smidge", - "version": "1" + "version": "637395756047165417" }, "Security": { "KeepUserLoggedIn": false, @@ -71,4 +71,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoInstall/Index.cshtml b/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoInstall/Index.cshtml index 21a42dcb63..79cbe8305a 100644 --- a/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoInstall/Index.cshtml +++ b/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoInstall/Index.cshtml @@ -1,5 +1,4 @@ @using Umbraco.Extensions -@using Umbraco.Composing @{ Layout = null; } diff --git a/src/Umbraco.Web.UI/config/splashes/NoNodes.cshtml b/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoWebsite/NoNodes.cshtml similarity index 92% rename from src/Umbraco.Web.UI/config/splashes/NoNodes.cshtml rename to src/Umbraco.Web.UI.NetCore/umbraco/UmbracoWebsite/NoNodes.cshtml index 4193e58873..2d397b0fbb 100644 --- a/src/Umbraco.Web.UI/config/splashes/NoNodes.cshtml +++ b/src/Umbraco.Web.UI.NetCore/umbraco/UmbracoWebsite/NoNodes.cshtml @@ -1,4 +1,4 @@ -@inherits System.Web.Mvc.WebViewPage +@model Umbraco.Web.Website.Models.NoNodesViewModel @@ -8,7 +8,7 @@ Umbraco: No Published Content - + diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj index 4dbc4587fa..93f13e73e0 100644 --- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj +++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj @@ -137,7 +137,6 @@ True Settings.settings - ClientDependency.config Designer @@ -355,4 +354,4 @@ - \ No newline at end of file + diff --git a/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml b/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml index b8c95400b2..715aad12d6 100644 --- a/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml +++ b/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml @@ -1,10 +1,17 @@ @model dynamic @using Umbraco.Web.Composing @using Umbraco.Web.Templates + +@* + TODO: When this project is asp.net core we can @inject HtmlLocalLinkParser etc (or come up with something even better) +*@ + +@using Microsoft.Extensions.DependencyInjection + @{ - var htmlLocalLinkParser = Current.Factory.GetInstance(); - var htmlUrlParser = Current.Factory.GetInstance(); - var htmlImageSourceParser = Current.Factory.GetInstance(); + var htmlLocalLinkParser = Current.Factory.GetRequiredService(); + var htmlUrlParser = Current.Factory.GetRequiredService(); + var htmlImageSourceParser = Current.Factory.GetRequiredService(); var value = htmlUrlParser.EnsureUrls(Model.value.ToString()); value = htmlImageSourceParser.EnsureImageSources(value); diff --git a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs index 4b400b35dd..93b3a5bb0d 100644 --- a/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs +++ b/src/Umbraco.Web.Website/ActionResults/RedirectToUmbracoPageResult.cs @@ -18,7 +18,7 @@ namespace Umbraco.Web.Website.ActionResults public class RedirectToUmbracoPageResult : IActionResult { private IPublishedContent _publishedContent; - private readonly int _pageId; + private readonly Guid _key; private readonly QueryString _queryString; private readonly IPublishedUrlProvider _publishedUrlProvider; private readonly IUmbracoContextAccessor _umbracoContextAccessor; @@ -31,22 +31,20 @@ namespace Umbraco.Web.Website.ActionResults if (!string.IsNullOrWhiteSpace(_url)) return _url; if (PublishedContent is null) - throw new InvalidOperationException($"Cannot redirect, no entity was found for id {PageId}"); + throw new InvalidOperationException($"Cannot redirect, no entity was found for key {Key}"); var result = _publishedUrlProvider.GetUrl(PublishedContent.Id); if (result == "#") throw new InvalidOperationException( - $"Could not route to entity with id {PageId}, the NiceUrlProvider could not generate a URL"); + $"Could not route to entity with key {Key}, the NiceUrlProvider could not generate a URL"); _url = result; return _url; } } - - private int PageId => _pageId; - + public Guid Key => _key; private IPublishedContent PublishedContent { get @@ -54,7 +52,7 @@ namespace Umbraco.Web.Website.ActionResults if (!(_publishedContent is null)) return _publishedContent; //need to get the URL for the page - _publishedContent = _umbracoContextAccessor.GetRequiredUmbracoContext().Content.GetById(_pageId); + _publishedContent = _umbracoContextAccessor.GetRequiredUmbracoContext().Content.GetById(_key); return _publishedContent; } @@ -65,9 +63,9 @@ namespace Umbraco.Web.Website.ActionResults /// /// /// - public RedirectToUmbracoPageResult(int pageId, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) + public RedirectToUmbracoPageResult(Guid key, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) { - _pageId = pageId; + _key = key; _publishedUrlProvider = publishedUrlProvider; _umbracoContextAccessor = umbracoContextAccessor; } @@ -78,9 +76,9 @@ namespace Umbraco.Web.Website.ActionResults /// /// /// - public RedirectToUmbracoPageResult(int pageId, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) + public RedirectToUmbracoPageResult(Guid key, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) { - _pageId = pageId; + _key = key; _queryString = queryString; _publishedUrlProvider = publishedUrlProvider; _umbracoContextAccessor = umbracoContextAccessor; @@ -95,7 +93,7 @@ namespace Umbraco.Web.Website.ActionResults public RedirectToUmbracoPageResult(IPublishedContent publishedContent, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) { _publishedContent = publishedContent; - _pageId = publishedContent.Id; + _key = publishedContent.Key; _publishedUrlProvider = publishedUrlProvider; _umbracoContextAccessor = umbracoContextAccessor; } @@ -110,7 +108,7 @@ namespace Umbraco.Web.Website.ActionResults public RedirectToUmbracoPageResult(IPublishedContent publishedContent, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor) { _publishedContent = publishedContent; - _pageId = publishedContent.Id; + _key = publishedContent.Key; _queryString = queryString; _publishedUrlProvider = publishedUrlProvider; _umbracoContextAccessor = umbracoContextAccessor; diff --git a/src/Umbraco.Web/Mvc/SurfaceControllerTypeCollection.cs b/src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollection.cs similarity index 87% rename from src/Umbraco.Web/Mvc/SurfaceControllerTypeCollection.cs rename to src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollection.cs index 59b8adc950..fa888dfe88 100644 --- a/src/Umbraco.Web/Mvc/SurfaceControllerTypeCollection.cs +++ b/src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollection.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Umbraco.Core.Composing; -namespace Umbraco.Web.Mvc +namespace Umbraco.Web.Website.Collections { public class SurfaceControllerTypeCollection : BuilderCollectionBase { diff --git a/src/Umbraco.Web/Mvc/SurfaceControllerTypeCollectionBuilder.cs b/src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollectionBuilder.cs similarity index 79% rename from src/Umbraco.Web/Mvc/SurfaceControllerTypeCollectionBuilder.cs rename to src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollectionBuilder.cs index 03de95c798..892184632d 100644 --- a/src/Umbraco.Web/Mvc/SurfaceControllerTypeCollectionBuilder.cs +++ b/src/Umbraco.Web.Website/Collections/SurfaceControllerTypeCollectionBuilder.cs @@ -1,7 +1,7 @@ using Umbraco.Core.Composing; -using Umbraco.Web.WebApi; +using Umbraco.Web.Website.Controllers; -namespace Umbraco.Web.Mvc +namespace Umbraco.Web.Website.Collections { public class SurfaceControllerTypeCollectionBuilder : TypeCollectionBuilderBase { diff --git a/src/Umbraco.Web/Mvc/RenderNoContentController.cs b/src/Umbraco.Web.Website/Controllers/RenderNoContentController.cs similarity index 74% rename from src/Umbraco.Web/Mvc/RenderNoContentController.cs rename to src/Umbraco.Web.Website/Controllers/RenderNoContentController.cs index 52ee7cf44d..0c55ab075b 100644 --- a/src/Umbraco.Web/Mvc/RenderNoContentController.cs +++ b/src/Umbraco.Web.Website/Controllers/RenderNoContentController.cs @@ -1,19 +1,19 @@ using System; -using System.Web.Mvc; -using Umbraco.Core.Configuration; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using Umbraco.Core.Configuration.Models; using Umbraco.Core.IO; -using Umbraco.Web.Models; +using Umbraco.Web.Website.Models; -namespace Umbraco.Web.Mvc +namespace Umbraco.Web.Website.Controllers { public class RenderNoContentController : Controller { private readonly IUmbracoContextAccessor _umbracoContextAccessor; private readonly IIOHelper _ioHelper; - private readonly GlobalSettings _globalSettings; + private readonly IOptions _globalSettings; - public RenderNoContentController(IUmbracoContextAccessor umbracoContextAccessor, IIOHelper ioHelper, GlobalSettings globalSettings) + public RenderNoContentController(IUmbracoContextAccessor umbracoContextAccessor, IIOHelper ioHelper, IOptions globalSettings) { _umbracoContextAccessor = umbracoContextAccessor ?? throw new ArgumentNullException(nameof(umbracoContextAccessor)); _ioHelper = ioHelper ?? throw new ArgumentNullException(nameof(ioHelper)); @@ -31,10 +31,10 @@ namespace Umbraco.Web.Mvc var model = new NoNodesViewModel { - UmbracoPath = _ioHelper.ResolveUrl(_globalSettings.UmbracoPath), + UmbracoPath = _ioHelper.ResolveUrl(_globalSettings.Value.UmbracoPath), }; - return View(_globalSettings.NoNodesViewPath, model); + return View(_globalSettings.Value.NoNodesViewPath, model); } } } diff --git a/src/Umbraco.Web.Website/Controllers/SurfaceController.cs b/src/Umbraco.Web.Website/Controllers/SurfaceController.cs index 726ce4ab82..8125923ee4 100644 --- a/src/Umbraco.Web.Website/Controllers/SurfaceController.cs +++ b/src/Umbraco.Web.Website/Controllers/SurfaceController.cs @@ -48,22 +48,22 @@ namespace Umbraco.Web.Website.Controllers /// /// Redirects to the Umbraco page with the given id /// - /// + /// /// - protected RedirectToUmbracoPageResult RedirectToUmbracoPage(int pageId) + protected RedirectToUmbracoPageResult RedirectToUmbracoPage(Guid contentKey) { - return new RedirectToUmbracoPageResult(pageId, _publishedUrlProvider, UmbracoContextAccessor); + return new RedirectToUmbracoPageResult(contentKey, _publishedUrlProvider, UmbracoContextAccessor); } /// /// Redirects to the Umbraco page with the given id and passes provided querystring /// - /// + /// /// /// - protected RedirectToUmbracoPageResult RedirectToUmbracoPage(int pageId, QueryString queryString) + protected RedirectToUmbracoPageResult RedirectToUmbracoPage(Guid contentKey, QueryString queryString) { - return new RedirectToUmbracoPageResult(pageId, queryString, _publishedUrlProvider, UmbracoContextAccessor); + return new RedirectToUmbracoPageResult(contentKey, queryString, _publishedUrlProvider, UmbracoContextAccessor); } /// diff --git a/src/Umbraco.Web.Website/Controllers/UmbracoAuthorizedController.cs b/src/Umbraco.Web.Website/Controllers/UmbracoAuthorizedController.cs index 2b5d7a61da..b2611848df 100644 --- a/src/Umbraco.Web.Website/Controllers/UmbracoAuthorizedController.cs +++ b/src/Umbraco.Web.Website/Controllers/UmbracoAuthorizedController.cs @@ -9,7 +9,7 @@ namespace Umbraco.Web.Mvc /// This controller essentially just uses a global UmbracoAuthorizeAttribute, inheritors that require more granular control over the /// authorization of each method can use this attribute instead of inheriting from this controller. /// - [UmbracoAuthorize] + [UmbracoBackOfficeAuthorize] [DisableBrowserCache] public abstract class UmbracoAuthorizedController : UmbracoController { diff --git a/src/Umbraco.Web.Website/Extensions/CompositionExtensions.cs b/src/Umbraco.Web.Website/Extensions/CompositionExtensions.cs index c832f2fac0..19917a8d1c 100644 --- a/src/Umbraco.Web.Website/Extensions/CompositionExtensions.cs +++ b/src/Umbraco.Web.Website/Extensions/CompositionExtensions.cs @@ -20,6 +20,7 @@ namespace Umbraco.Extensions // typeof(UmbRegisterController),//TODO introduce when migrated // typeof(UmbLoginController),//TODO introduce when migrated typeof(RenderMvcController), + typeof(RenderNoContentController), }); diff --git a/src/Umbraco.Web.Website/Extensions/HtmlContentExtensions.cs b/src/Umbraco.Web.Website/Extensions/HtmlContentExtensions.cs new file mode 100644 index 0000000000..3b74c39475 --- /dev/null +++ b/src/Umbraco.Web.Website/Extensions/HtmlContentExtensions.cs @@ -0,0 +1,17 @@ +using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Html; + +namespace Umbraco.Extensions +{ + public static class HtmlContentExtensions + { + public static string ToHtmlString(this IHtmlContent content) + { + using (var writer = new System.IO.StringWriter()) + { + content.WriteTo(writer, HtmlEncoder.Default); + return writer.ToString(); + } + } + } +} diff --git a/src/Umbraco.Web/HtmlHelperRenderExtensions.cs b/src/Umbraco.Web.Website/Extensions/HtmlHelperRenderExtensions.cs similarity index 79% rename from src/Umbraco.Web/HtmlHelperRenderExtensions.cs rename to src/Umbraco.Web.Website/Extensions/HtmlHelperRenderExtensions.cs index eccbe073cb..a48ed435bf 100644 --- a/src/Umbraco.Web/HtmlHelperRenderExtensions.cs +++ b/src/Umbraco.Web.Website/Extensions/HtmlHelperRenderExtensions.cs @@ -3,35 +3,54 @@ using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; +using System.Text.Encodings.Web; using System.Web; -using System.Web.Helpers; -using System.Web.Mvc; -using System.Web.Mvc.Html; -using System.Web.Routing; +using Microsoft.AspNetCore.Antiforgery; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Html; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; -using Umbraco.Core.Configuration; +using Umbraco.Core.Cache; using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.Hosting; using Umbraco.Core.IO; -using Umbraco.Web.Mvc; -using Umbraco.Web.Security; -using Current = Umbraco.Web.Composing.Current; +using Umbraco.Core.Logging; +using Umbraco.Web; +using Umbraco.Web.Common.Controllers; +using Umbraco.Web.Common.Mvc; +using Umbraco.Web.Common.Security; +using Umbraco.Web.Website.Collections; +using Umbraco.Web.Website.Controllers; -namespace Umbraco.Web +namespace Umbraco.Extensions { /// /// HtmlHelper extensions for use in templates /// public static class HtmlHelperRenderExtensions { + private static T GetRequiredService(IHtmlHelper htmlHelper) + { + return GetRequiredService(htmlHelper.ViewContext); + } + + private static T GetRequiredService(ViewContext viewContext) + { + return viewContext.HttpContext.RequestServices.GetRequiredService(); + } + /// /// Renders the markup for the profiler /// /// /// - public static IHtmlString RenderProfiler(this HtmlHelper helper) + public static IHtmlContent RenderProfiler(this IHtmlHelper helper) { - return new HtmlString(Current.ProfilerHtml.Render()); + return new HtmlString(GetRequiredService(helper).Render()); } /// @@ -43,7 +62,7 @@ namespace Umbraco.Web /// /// /// - public static MvcHtmlString AreaPartial(this HtmlHelper helper, string partial, string area, object model = null, ViewDataDictionary viewData = null) + public static IHtmlContent AreaPartial(this IHtmlHelper helper, string partial, string area, object model = null, ViewDataDictionary viewData = null) { var originalArea = helper.ViewContext.RouteData.DataTokens["area"]; helper.ViewContext.RouteData.DataTokens["area"] = area; @@ -61,23 +80,24 @@ namespace Umbraco.Web /// /// See: http://issues.umbraco.org/issue/U4-1614 /// - public static MvcHtmlString PreviewBadge(this HtmlHelper helper, IHttpContextAccessor httpContextAccessor, GlobalSettings globalSettings, IIOHelper ioHelper, ContentSettings contentSettings) + public static IHtmlContent PreviewBadge(this IHtmlHelper helper, IUmbracoContextAccessor umbracoContextAccessor, IHttpContextAccessor httpContextAccessor, GlobalSettings globalSettings, IIOHelper ioHelper, ContentSettings contentSettings) { - if (Current.UmbracoContext.InPreviewMode) + var umbrcoContext = umbracoContextAccessor.UmbracoContext; + if (umbrcoContext.InPreviewMode) { var htmlBadge = String.Format(contentSettings.PreviewBadge, ioHelper.ResolveUrl(globalSettings.UmbracoPath), WebUtility.UrlEncode(httpContextAccessor.GetRequiredHttpContext().Request.Path), - Current.UmbracoContext.PublishedRequest.PublishedContent.Id); - return new MvcHtmlString(htmlBadge); + umbrcoContext.PublishedRequest.PublishedContent.Id); + return new HtmlString(htmlBadge); } - return new MvcHtmlString(""); + return new HtmlString(""); } - public static IHtmlString CachedPartial( - this HtmlHelper htmlHelper, + public static IHtmlContent CachedPartial( + this IHtmlHelper htmlHelper, string partialViewName, object model, int cachedSeconds, @@ -95,36 +115,50 @@ namespace Umbraco.Web } if (cacheByPage) { - if (Current.UmbracoContext == null) + var umbracoContextAccessor = GetRequiredService(htmlHelper); + var umbracoContext = umbracoContextAccessor.UmbracoContext; + if (umbracoContext == null) { throw new InvalidOperationException("Cannot cache by page if the UmbracoContext has not been initialized, this parameter can only be used in the context of an Umbraco request"); } - cacheKey.AppendFormat("{0}-", Current.UmbracoContext.PublishedRequest?.PublishedContent?.Id ?? 0); + cacheKey.AppendFormat("{0}-", umbracoContext.PublishedRequest?.PublishedContent?.Id ?? 0); } if (cacheByMember) { - var helper = Current.MembershipHelper; - var currentMember = helper.GetCurrentMember(); - cacheKey.AppendFormat("m{0}-", currentMember?.Id ?? 0); + //TODO reintroduce when members are migrated + throw new NotImplementedException("Reintroduce when members are migrated"); + // var helper = Current.MembershipHelper; + // var currentMember = helper.GetCurrentMember(); + // cacheKey.AppendFormat("m{0}-", currentMember?.Id ?? 0); } if (contextualKeyBuilder != null) { var contextualKey = contextualKeyBuilder(model, viewData); cacheKey.AppendFormat("c{0}-", contextualKey); } - return Current.AppCaches.CachedPartialView(Current.HostingEnvironment, htmlHelper, partialViewName, model, cachedSeconds, cacheKey.ToString(), viewData); + + var appCaches = GetRequiredService(htmlHelper); + var hostingEnvironment = GetRequiredService(htmlHelper); + + return appCaches.CachedPartialView(hostingEnvironment, htmlHelper, partialViewName, model, cachedSeconds, cacheKey.ToString(), viewData); } - public static MvcHtmlString EditorFor(this HtmlHelper htmlHelper, string templateName = "", string htmlFieldName = "", object additionalViewData = null) - where T : new() - { - var model = new T(); - var typedHelper = new HtmlHelper( - htmlHelper.ViewContext.CopyWithModel(model), - htmlHelper.ViewDataContainer.CopyWithModel(model)); - - return typedHelper.EditorFor(x => model, templateName, htmlFieldName, additionalViewData); - } + // public static IHtmlContent EditorFor(this IHtmlHelper htmlHelper, string templateName = "", string htmlFieldName = "", object additionalViewData = null) + // where T : new() + // { + // var model = new T(); + // htmlHelper.Contextualize(htmlHelper.ViewContext.CopyWithModel(model)); + // + // // + // // var typedHelper = new HtmlHelper(htmlHelper. + // // htmlHelper. + // // , + // // htmlHelper.ViewDataContainer.CopyWithModel(model)); + // + // + // + // return htmlHelper.EditorForModel(x => model, templateName, htmlFieldName, additionalViewData); + // } /// /// A validation summary that lets you pass in a prefix so that the summary only displays for elements @@ -136,72 +170,95 @@ namespace Umbraco.Web /// /// /// - public static MvcHtmlString ValidationSummary(this HtmlHelper htmlHelper, - string prefix = "", - bool excludePropertyErrors = false, - string message = "", - IDictionary htmlAttributes = null) + public static IHtmlContent ValidationSummary(this IHtmlHelper htmlHelper, + string prefix = "", + bool excludePropertyErrors = false, + string message = "", + object htmlAttributes = null) { if (prefix.IsNullOrWhiteSpace()) { return htmlHelper.ValidationSummary(excludePropertyErrors, message, htmlAttributes); } - //if there's a prefix applied, we need to create a new HTML helper with a filtered ModelState collection so that it only looks for - //specific model state with the prefix. - var filteredHtmlHelper = new HtmlHelper(htmlHelper.ViewContext, htmlHelper.ViewDataContainer.FilterContainer(prefix)); - return filteredHtmlHelper.ValidationSummary(excludePropertyErrors, message, htmlAttributes); - } - /// - /// Returns the result of a child action of a strongly typed SurfaceController - /// - /// - /// - /// - /// - public static IHtmlString Action(this HtmlHelper htmlHelper, string actionName) - where T : SurfaceController - { - return htmlHelper.Action(actionName, typeof(T)); - } - /// - /// Returns the result of a child action of a SurfaceController - /// - /// - /// - /// - /// - /// - public static IHtmlString Action(this HtmlHelper htmlHelper, string actionName, Type surfaceType) - { - if (actionName == null) throw new ArgumentNullException(nameof(actionName)); - if (string.IsNullOrWhiteSpace(actionName)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(actionName)); - if (surfaceType == null) throw new ArgumentNullException(nameof(surfaceType)); - var routeVals = new RouteValueDictionary(new {area = ""}); + var htmlGenerator = GetRequiredService(htmlHelper); - var surfaceController = Current.SurfaceControllerTypes.SingleOrDefault(x => x == surfaceType); - if (surfaceController == null) - throw new InvalidOperationException("Could not find the surface controller of type " + surfaceType.FullName); - var metaData = PluginController.GetMetadata(surfaceController); - if (!metaData.AreaName.IsNullOrWhiteSpace()) + var viewContext = htmlHelper.ViewContext.Clone(); + foreach (var key in viewContext.ViewData.Keys.ToArray()){ + if(!key.StartsWith(prefix)){ + viewContext.ViewData.Remove(key); + } + } + var tagBuilder = htmlGenerator.GenerateValidationSummary( + viewContext, + excludePropertyErrors, + message, + headerTag: null, + htmlAttributes: htmlAttributes); + if (tagBuilder == null) { - //set the area to the plugin area - if (routeVals.ContainsKey("area")) - { - routeVals["area"] = metaData.AreaName; - } - else - { - routeVals.Add("area", metaData.AreaName); - } + return HtmlString.Empty; } - return htmlHelper.Action(actionName, metaData.ControllerName, routeVals); + return tagBuilder; } +// TODO what to do here? This will be view components right? + // /// + // /// Returns the result of a child action of a strongly typed SurfaceController + // /// + // /// + // /// + // /// + // /// + // public static IHtmlContent Action(this HtmlHelper htmlHelper, string actionName) + // where T : SurfaceController + // { + // return htmlHelper.Action(actionName, typeof(T)); + // } + // + +// TODO what to do here? This will be view components right? + // /// + // /// Returns the result of a child action of a SurfaceController + // /// + // /// + // /// + // /// + // /// + // /// + // public static IHtmlContent Action(this IHtmlHelper htmlHelper, string actionName, Type surfaceType) + // { + // if (actionName == null) throw new ArgumentNullException(nameof(actionName)); + // if (string.IsNullOrWhiteSpace(actionName)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(actionName)); + // if (surfaceType == null) throw new ArgumentNullException(nameof(surfaceType)); + // + // var routeVals = new RouteValueDictionary(new {area = ""}); + // + // var surfaceControllerTypeCollection = GetRequiredService(htmlHelper); + // var surfaceController = surfaceControllerTypeCollection.SingleOrDefault(x => x == surfaceType); + // if (surfaceController == null) + // throw new InvalidOperationException("Could not find the surface controller of type " + surfaceType.FullName); + // var metaData = PluginController.GetMetadata(surfaceController); + // if (!metaData.AreaName.IsNullOrWhiteSpace()) + // { + // //set the area to the plugin area + // if (routeVals.ContainsKey("area")) + // { + // routeVals["area"] = metaData.AreaName; + // } + // else + // { + // routeVals.Add("area", metaData.AreaName); + // } + // } + // + // return htmlHelper.Action(actionName, metaData.ControllerName, routeVals); + // } + #region BeginUmbracoForm /// @@ -213,6 +270,7 @@ namespace Umbraco.Web /// Creates an UmbracoForm /// /// + /// /// /// /// @@ -220,17 +278,18 @@ namespace Umbraco.Web /// public UmbracoForm( ViewContext viewContext, + HtmlEncoder htmlEncoder, string controllerName, string controllerAction, string area, FormMethod method, object additionalRouteVals = null) - : base(viewContext) + : base(viewContext, htmlEncoder) { _viewContext = viewContext; _method = method; _controllerName = controllerName; - _encryptedString = UrlHelperRenderExtensions.CreateEncryptedRouteString(controllerName, controllerAction, area, additionalRouteVals); + _encryptedString = EncryptionHelper.CreateEncryptedRouteString(GetRequiredService(viewContext), controllerName, controllerAction, area, additionalRouteVals); } @@ -240,7 +299,7 @@ namespace Umbraco.Web private readonly string _encryptedString; private readonly string _controllerName; - protected override void Dispose(bool disposing) + protected new void Dispose() { if (this._disposed) return; @@ -252,13 +311,14 @@ namespace Umbraco.Web || _controllerName == "UmbLoginStatus" || _controllerName == "UmbLogin") { - _viewContext.Writer.Write(AntiForgery.GetHtml().ToString()); + var antiforgery = _viewContext.HttpContext.RequestServices.GetRequiredService(); + _viewContext.Writer.Write(antiforgery.GetHtml(_viewContext.HttpContext).ToString()); } //write out the hidden surface form routes _viewContext.Writer.Write(""); - base.Dispose(disposing); + base.Dispose(); } } @@ -594,7 +654,8 @@ namespace Umbraco.Web var area = ""; - var surfaceController = Current.SurfaceControllerTypes.SingleOrDefault(x => x == surfaceType); + var surfaceControllerTypeCollection = GetRequiredService(html); + var surfaceController = surfaceControllerTypeCollection.SingleOrDefault(x => x == surfaceType); if (surfaceController == null) throw new InvalidOperationException("Could not find the surface controller of type " + surfaceType.FullName); var metaData = PluginController.GetMetadata(surfaceController); @@ -706,7 +767,8 @@ namespace Umbraco.Web if (controllerName == null) throw new ArgumentNullException(nameof(controllerName)); if (string.IsNullOrWhiteSpace(controllerName)) throw new ArgumentException("Value can't be empty or consist only of white-space characters.", nameof(controllerName)); - var formAction = Current.UmbracoContext.OriginalRequestUrl.PathAndQuery; + var umbracoContextAccessor = GetRequiredService(html); + var formAction = umbracoContextAccessor.UmbracoContext.OriginalRequestUrl.PathAndQuery; return html.RenderForm(formAction, method, htmlAttributes, controllerName, action, area, additionalRouteVals); } @@ -764,89 +826,28 @@ namespace Umbraco.Web tagBuilder.MergeAttribute("action", formAction); // method is an explicit parameter, so it takes precedence over the htmlAttributes. tagBuilder.MergeAttribute("method", HtmlHelper.GetFormMethodString(method), true); - var traditionalJavascriptEnabled = htmlHelper.ViewContext.ClientValidationEnabled && htmlHelper.ViewContext.UnobtrusiveJavaScriptEnabled == false; + var traditionalJavascriptEnabled = htmlHelper.ViewContext.ClientValidationEnabled; if (traditionalJavascriptEnabled) { // forms must have an ID for client validation - tagBuilder.GenerateId("form" + Guid.NewGuid().ToString("N")); + tagBuilder.GenerateId("form" + Guid.NewGuid().ToString("N"), string.Empty); } - htmlHelper.ViewContext.Writer.Write(tagBuilder.ToString(TagRenderMode.StartTag)); + htmlHelper.ViewContext.Writer.Write(tagBuilder.RenderStartTag()); + + var htmlEncoder = GetRequiredService(htmlHelper); //new UmbracoForm: - var theForm = new UmbracoForm(htmlHelper.ViewContext, surfaceController, surfaceAction, area, method, additionalRouteVals); + var theForm = new UmbracoForm(htmlHelper.ViewContext, htmlEncoder, surfaceController, surfaceAction, area, method, additionalRouteVals); if (traditionalJavascriptEnabled) { - htmlHelper.ViewContext.FormContext.FormId = tagBuilder.Attributes["id"]; + htmlHelper.ViewContext.FormContext.FormData["FormId"] = tagBuilder.Attributes["id"]; } return theForm; } #endregion - #region Wrap - - public static HtmlTagWrapper Wrap(this HtmlHelper html, string tag, string innerText, params IHtmlTagWrapper[] children) - { - var item = html.Wrap(tag, innerText, (object)null); - foreach (var child in children) - { - item.AddChild(child); - } - return item; - } - - public static HtmlTagWrapper Wrap(this HtmlHelper html, string tag, object inner, object anonymousAttributes, params IHtmlTagWrapper[] children) - { - string innerText = null; - if (inner != null) - { - innerText = string.Format("{0}", inner); - } - var item = html.Wrap(tag, innerText, anonymousAttributes); - foreach (var child in children) - { - item.AddChild(child); - } - return item; - } - public static HtmlTagWrapper Wrap(this HtmlHelper html, string tag, object inner) - { - string innerText = null; - if (inner != null) - { - innerText = string.Format("{0}", inner); - } - return html.Wrap(tag, innerText, (object)null); - } - - public static HtmlTagWrapper Wrap(this HtmlHelper html, string tag, string innerText, object anonymousAttributes, params IHtmlTagWrapper[] children) - { - var wrap = new HtmlTagWrapper(tag); - if (anonymousAttributes != null) - { - wrap.ReflectAttributesFromAnonymousType(anonymousAttributes); - } - if (!string.IsNullOrWhiteSpace(innerText)) - { - wrap.AddChild(new HtmlTagWrapperTextNode(innerText)); - } - foreach (var child in children) - { - wrap.AddChild(child); - } - return wrap; - } - - public static HtmlTagWrapper Wrap(this HtmlHelper html, bool visible, string tag, string innerText, object anonymousAttributes, params IHtmlTagWrapper[] children) - { - var item = html.Wrap(tag, innerText, anonymousAttributes, children); - item.Visible = visible; - return item; - } - - #endregion - #region If /// @@ -858,7 +859,7 @@ namespace Umbraco.Web /// /// The HTML encoded value. /// - public static IHtmlString If(this HtmlHelper html, bool test, string valueIfTrue) + public static IHtmlContent If(this HtmlHelper html, bool test, string valueIfTrue) { return If(html, test, valueIfTrue, string.Empty); } @@ -873,7 +874,7 @@ namespace Umbraco.Web /// /// The HTML encoded value. /// - public static IHtmlString If(this HtmlHelper html, bool test, string valueIfTrue, string valueIfFalse) + public static IHtmlContent If(this HtmlHelper html, bool test, string valueIfTrue, string valueIfFalse) { return new HtmlString(HttpUtility.HtmlEncode(test ? valueIfTrue : valueIfFalse)); } @@ -892,7 +893,7 @@ namespace Umbraco.Web /// /// The HTML encoded text with text line breaks replaced with HTML line breaks (<br />). /// - public static IHtmlString ReplaceLineBreaks(this HtmlHelper helper, string text) + public static IHtmlContent ReplaceLineBreaks(this HtmlHelper helper, string text) { return StringUtilities.ReplaceLineBreaks(text); } @@ -912,15 +913,17 @@ namespace Umbraco.Web /// /// Strips all HTML tags from a given string, all contents of the tags will remain. /// - public static IHtmlString StripHtml(this HtmlHelper helper, IHtmlString html, params string[] tags) + public static IHtmlContent StripHtml(this HtmlHelper helper, IHtmlContent html, params string[] tags) { return helper.StripHtml(html.ToHtmlString(), tags); } + + /// /// Strips all HTML tags from a given string, all contents of the tags will remain. /// - public static IHtmlString StripHtml(this HtmlHelper helper, string html, params string[] tags) + public static IHtmlContent StripHtml(this HtmlHelper helper, string html, params string[] tags) { return StringUtilities.StripHtmlTags(html, tags); } @@ -952,7 +955,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, IHtmlString html, int length) + public static IHtmlContent Truncate(this HtmlHelper helper, IHtmlContent html, int length) { return helper.Truncate(html.ToHtmlString(), length, true, false); } @@ -960,7 +963,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, IHtmlString html, int length, bool addElipsis) + public static IHtmlContent Truncate(this HtmlHelper helper, IHtmlContent html, int length, bool addElipsis) { return helper.Truncate(html.ToHtmlString(), length, addElipsis, false); } @@ -968,7 +971,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, IHtmlString html, int length, bool addElipsis, bool treatTagsAsContent) + public static IHtmlContent Truncate(this HtmlHelper helper, IHtmlContent html, int length, bool addElipsis, bool treatTagsAsContent) { return helper.Truncate(html.ToHtmlString(), length, addElipsis, treatTagsAsContent); } @@ -976,7 +979,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, string html, int length) + public static IHtmlContent Truncate(this HtmlHelper helper, string html, int length) { return helper.Truncate(html, length, true, false); } @@ -984,7 +987,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, string html, int length, bool addElipsis) + public static IHtmlContent Truncate(this HtmlHelper helper, string html, int length, bool addElipsis) { return helper.Truncate(html, length, addElipsis, false); } @@ -992,7 +995,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given length, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString Truncate(this HtmlHelper helper, string html, int length, bool addElipsis, bool treatTagsAsContent) + public static IHtmlContent Truncate(this HtmlHelper helper, string html, int length, bool addElipsis, bool treatTagsAsContent) { return StringUtilities.Truncate(html, length, addElipsis, treatTagsAsContent); } @@ -1002,7 +1005,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given amount of words, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString TruncateByWords(this HtmlHelper helper, string html, int words) + public static IHtmlContent TruncateByWords(this HtmlHelper helper, string html, int words) { int length = StringUtilities.WordsToLength(html, words); @@ -1012,7 +1015,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given amount of words, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString TruncateByWords(this HtmlHelper helper, string html, int words, bool addElipsis) + public static IHtmlContent TruncateByWords(this HtmlHelper helper, string html, int words, bool addElipsis) { int length = StringUtilities.WordsToLength(html, words); @@ -1022,7 +1025,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given amount of words, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString TruncateByWords(this HtmlHelper helper, IHtmlString html, int words) + public static IHtmlContent TruncateByWords(this HtmlHelper helper, IHtmlContent html, int words) { int length = StringUtilities.WordsToLength(html.ToHtmlString(), words); @@ -1032,7 +1035,7 @@ namespace Umbraco.Web /// /// Truncates a string to a given amount of words, can add a ellipsis at the end (...). Method checks for open HTML tags, and makes sure to close them /// - public static IHtmlString TruncateByWords(this HtmlHelper helper, IHtmlString html, int words, bool addElipsis) + public static IHtmlContent TruncateByWords(this HtmlHelper helper, IHtmlContent html, int words, bool addElipsis) { int length = StringUtilities.WordsToLength(html.ToHtmlString(), words); diff --git a/src/Umbraco.Web.Website/Extensions/TypeLoaderExtensions.cs b/src/Umbraco.Web.Website/Extensions/TypeLoaderExtensions.cs new file mode 100644 index 0000000000..c01bdf7804 --- /dev/null +++ b/src/Umbraco.Web.Website/Extensions/TypeLoaderExtensions.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using Umbraco.Core.Composing; +using Umbraco.Web.Common.Controllers; +using Umbraco.Web.Website.Controllers; + + +namespace Umbraco.Extensions +{ + /// + /// Provides extension methods for the class. + /// + // Migrated to .NET Core + public static class TypeLoaderExtensions + { + /// + /// Gets all types implementing . + /// + internal static IEnumerable GetSurfaceControllers(this TypeLoader typeLoader) + => typeLoader.GetTypes(); + + /// + /// Gets all types implementing . + /// + internal static IEnumerable GetUmbracoApiControllers(this TypeLoader typeLoader) + => typeLoader.GetTypes(); + } +} diff --git a/src/Umbraco.Web.Website/Extensions/UmbracoWebsiteApplicationBuilderExtensions.cs b/src/Umbraco.Web.Website/Extensions/UmbracoWebsiteApplicationBuilderExtensions.cs index 3c6de4b88a..ef99d67373 100644 --- a/src/Umbraco.Web.Website/Extensions/UmbracoWebsiteApplicationBuilderExtensions.cs +++ b/src/Umbraco.Web.Website/Extensions/UmbracoWebsiteApplicationBuilderExtensions.cs @@ -1,6 +1,8 @@ using System; using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; using SixLabors.ImageSharp.Web.DependencyInjection; +using Umbraco.Web.Website.Routing; namespace Umbraco.Extensions { @@ -16,6 +18,18 @@ namespace Umbraco.Extensions // TODO: Since we are dependent on these we need to register them but what happens when we call this multiple times since we are dependent on this for UseUmbracoBackOffice too? app.UseImageSharp(); app.UseStaticFiles(); + app.UseUmbracoNoContentPage(); + + return app; + } + + public static IApplicationBuilder UseUmbracoNoContentPage(this IApplicationBuilder app) + { + app.UseEndpoints(endpoints => + { + var noContentRoutes = app.ApplicationServices.GetRequiredService(); + noContentRoutes.CreateRoutes(endpoints); + }); return app; } diff --git a/src/Umbraco.Web.Website/Extensions/UmbracoWebstiteServiceCollectionExtensions.cs b/src/Umbraco.Web.Website/Extensions/UmbracoWebstiteServiceCollectionExtensions.cs index bdc9ee840c..a5d729f20f 100644 --- a/src/Umbraco.Web.Website/Extensions/UmbracoWebstiteServiceCollectionExtensions.cs +++ b/src/Umbraco.Web.Website/Extensions/UmbracoWebstiteServiceCollectionExtensions.cs @@ -1,5 +1,11 @@ -using Microsoft.AspNetCore.Mvc.Controllers; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Controllers; +using Microsoft.AspNetCore.Mvc.ViewEngines; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Umbraco.Web.Website.ViewEngines; namespace Umbraco.Extensions { @@ -8,6 +14,20 @@ namespace Umbraco.Extensions public static void AddUmbracoWebsite(this IServiceCollection services) { services.AddSingleton(); + + // Set the render & plugin view engines (Super complicated, but this allows us to use the IServiceCollection + // to inject dependencies into the viewEngines) + services.AddTransient, RenderMvcViewOptionsSetup>(); + services.AddSingleton(); + services.AddTransient, PluginMvcViewOptionsSetup>(); + services.AddSingleton(); + + // Wraps all existing view engines in a ProfilerViewEngine + services.AddTransient, ProfilingViewEngineWrapperMvcViewOptionsSetup>(); + + //TODO figure out if we need more to work on load balanced setups + services.AddDataProtection(); } + } } diff --git a/src/Umbraco.Web/Models/NoNodesViewModel.cs b/src/Umbraco.Web.Website/Models/NoNodesViewModel.cs similarity index 71% rename from src/Umbraco.Web/Models/NoNodesViewModel.cs rename to src/Umbraco.Web.Website/Models/NoNodesViewModel.cs index ca75fd3c02..2a0be7dd2c 100644 --- a/src/Umbraco.Web/Models/NoNodesViewModel.cs +++ b/src/Umbraco.Web.Website/Models/NoNodesViewModel.cs @@ -1,4 +1,4 @@ -namespace Umbraco.Web.Models +namespace Umbraco.Web.Website.Models { public class NoNodesViewModel { diff --git a/src/Umbraco.Web.Website/Routing/NoContentRoutes.cs b/src/Umbraco.Web.Website/Routing/NoContentRoutes.cs new file mode 100644 index 0000000000..58885bcd96 --- /dev/null +++ b/src/Umbraco.Web.Website/Routing/NoContentRoutes.cs @@ -0,0 +1,52 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.Options; +using Umbraco.Core; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Hosting; +using Umbraco.Web.Common.Routing; + +namespace Umbraco.Web.Website.Routing +{ + /// + /// Creates route for the no content page + /// + public class NoContentRoutes : IAreaRoutes + { + private readonly IRuntimeState _runtimeState; + private readonly string _umbracoPathSegment; + + public NoContentRoutes( + IOptions globalSettings, + IHostingEnvironment hostingEnvironment, + IRuntimeState runtimeState) + { + _runtimeState = runtimeState; + _umbracoPathSegment = globalSettings.Value.GetUmbracoMvcArea(hostingEnvironment); + } + + public void CreateRoutes(IEndpointRouteBuilder endpoints) + { + switch (_runtimeState.Level) + { + case RuntimeLevel.Install: + break; + case RuntimeLevel.Upgrade: + break; + case RuntimeLevel.Run: + endpoints.MapControllerRoute( + // named consistently + Constants.Web.NoContentRouteName, + _umbracoPathSegment + "/UmbNoContent", + new { controller = "RenderNoContent", action = "Index" } + ); + break; + case RuntimeLevel.BootFailed: + case RuntimeLevel.Unknown: + case RuntimeLevel.Boot: + break; + } + } + } +} diff --git a/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs b/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs index 0e99875dc0..3cbb24b0e0 100644 --- a/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs +++ b/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs @@ -1,7 +1,9 @@ -using Umbraco.Core.Composing; +using Umbraco.Core; +using Umbraco.Core.Composing; using Umbraco.Extensions; +using Umbraco.Web.Website.Routing; using Umbraco.Web.Common.Runtime; -using Umbraco.Web.Website.Controllers; +using Umbraco.Web.Website.Collections; namespace Umbraco.Web.Website.Runtime { @@ -12,12 +14,16 @@ namespace Umbraco.Web.Website.Runtime { public void Compose(Composition composition) { + composition.Services.AddUnique(); composition .ComposeWebsiteUmbracoControllers() //.SetDefaultRenderMvcController()// default controller for template views ; + + composition.WithCollectionBuilder() + .Add(composition.TypeLoader.GetSurfaceControllers()); } } } diff --git a/src/Umbraco.Web.Website/UmbracoHelper.cs b/src/Umbraco.Web.Website/UmbracoHelper.cs new file mode 100644 index 0000000000..d44ca4e5fe --- /dev/null +++ b/src/Umbraco.Web.Website/UmbracoHelper.cs @@ -0,0 +1,445 @@ +using System; +using System.Collections.Generic; +using System.Xml.XPath; +using Umbraco.Core; +using Umbraco.Core.Dictionary; +using Umbraco.Core.Models.PublishedContent; +using Umbraco.Core.Templates; +using Umbraco.Core.Strings; +using Umbraco.Core.Xml; + +namespace Umbraco.Web.Website +{ + /// + /// A helper class that provides many useful methods and functionality for using Umbraco in templates + /// + /// + /// This object is a request based lifetime + /// + public class UmbracoHelper + { + private readonly IPublishedContentQuery _publishedContentQuery; + private readonly IUmbracoComponentRenderer _componentRenderer; + private readonly ICultureDictionaryFactory _cultureDictionaryFactory; + + private IPublishedContent _currentPage; + private ICultureDictionary _cultureDictionary; + + #region Constructors + + /// + /// Initializes a new instance of . + /// + /// The item assigned to the helper. + /// + /// + /// + /// Sets the current page to the context's published content request's content item. + public UmbracoHelper(IPublishedContent currentPage, + ICultureDictionaryFactory cultureDictionary, + IUmbracoComponentRenderer componentRenderer, + IPublishedContentQuery publishedContentQuery) + { + _cultureDictionaryFactory = cultureDictionary ?? throw new ArgumentNullException(nameof(cultureDictionary)); + _componentRenderer = componentRenderer ?? throw new ArgumentNullException(nameof(componentRenderer)); + _publishedContentQuery = publishedContentQuery ?? throw new ArgumentNullException(nameof(publishedContentQuery)); + _currentPage = currentPage; + } + + /// + /// Initializes a new empty instance of . + /// + /// For tests - nothing is initialized. + internal UmbracoHelper() + { } + + #endregion + + + /// + /// Gets (or sets) the current item assigned to the UmbracoHelper. + /// + /// + /// + /// Note that this is the assigned IPublishedContent item to the + /// UmbracoHelper, this is not necessarily the Current IPublishedContent + /// item being rendered that is assigned to the UmbracoContext. + /// This IPublishedContent object is contextual to the current UmbracoHelper instance. + /// + /// + /// In some cases accessing this property will throw an exception if + /// there is not IPublishedContent assigned to the Helper this will + /// only ever happen if the Helper is constructed via DI during a non front-end request. + /// + /// + /// Thrown if the + /// UmbracoHelper is constructed with an UmbracoContext and it is not a + /// front-end request. + public IPublishedContent AssignedContentItem + { + get + { + if (_currentPage != null) + { + return _currentPage; + } + + throw new InvalidOperationException( + $"Cannot return the {nameof(IPublishedContent)} because the {nameof(UmbracoHelper)} was not constructed with an {nameof(IPublishedContent)}." + ); + + } + set => _currentPage = value; + } + + /// + /// Renders the template for the specified pageId and an optional altTemplateId + /// + /// + /// If not specified, will use the template assigned to the node + /// + public IHtmlEncodedString RenderTemplate(int contentId, int? altTemplateId = null) + { + return _componentRenderer.RenderTemplate(contentId, altTemplateId); + } + + #region RenderMacro + + /// + /// Renders the macro with the specified alias. + /// + /// The alias. + /// + public IHtmlEncodedString RenderMacro(string alias) + { + return _componentRenderer.RenderMacro(AssignedContentItem?.Id ?? 0, alias, null); + } + + /// + /// Renders the macro with the specified alias, passing in the specified parameters. + /// + /// The alias. + /// The parameters. + /// + public IHtmlEncodedString RenderMacro(string alias, object parameters) + { + return _componentRenderer.RenderMacro(AssignedContentItem?.Id ?? 0, alias, parameters?.ToDictionary()); + } + + /// + /// Renders the macro with the specified alias, passing in the specified parameters. + /// + /// The alias. + /// The parameters. + /// + public IHtmlEncodedString RenderMacro(string alias, IDictionary parameters) + { + return _componentRenderer.RenderMacro(AssignedContentItem?.Id ?? 0, alias, parameters); + } + + #endregion + + #region Dictionary + + /// + /// Returns the dictionary value for the key specified + /// + /// + /// + public string GetDictionaryValue(string key) + { + return CultureDictionary[key]; + } + + /// + /// Returns the dictionary value for the key specified, and if empty returns the specified default fall back value + /// + /// key of dictionary item + /// fall back text if dictionary item is empty - Name altText to match Umbraco.Field + /// + public string GetDictionaryValue(string key, string altText) + { + var dictionaryValue = GetDictionaryValue(key); + if (String.IsNullOrWhiteSpace(dictionaryValue)) + { + dictionaryValue = altText; + } + return dictionaryValue; + } + + /// + /// Returns the ICultureDictionary for access to dictionary items + /// + public ICultureDictionary CultureDictionary => _cultureDictionary ??= _cultureDictionaryFactory.CreateDictionary(); + + #endregion + + + + #region Content + + /// + /// Gets a content item from the cache. + /// + /// The unique identifier, or the key, of the content item. + /// The content, or null of the content item is not in the cache. + public IPublishedContent Content(object id) + { + return ContentForObject(id); + } + + private IPublishedContent ContentForObject(object id) => _publishedContentQuery.Content(id); + + public IPublishedContent ContentSingleAtXPath(string xpath, params XPathVariable[] vars) + { + return _publishedContentQuery.ContentSingleAtXPath(xpath, vars); + } + + /// + /// Gets a content item from the cache. + /// + /// The unique identifier of the content item. + /// The content, or null of the content item is not in the cache. + public IPublishedContent Content(int id) => _publishedContentQuery.Content(id); + + /// + /// Gets a content item from the cache. + /// + /// The key of the content item. + /// The content, or null of the content item is not in the cache. + public IPublishedContent Content(Guid id) => _publishedContentQuery.Content(id); + + /// + /// Gets a content item from the cache. + /// + /// The unique identifier, or the key, of the content item. + /// The content, or null of the content item is not in the cache. + public IPublishedContent Content(string id) => _publishedContentQuery.Content(id); + + public IPublishedContent Content(Udi id) => _publishedContentQuery.Content(id); + + /// + /// Gets content items from the cache. + /// + /// The unique identifiers, or the keys, of the content items. + /// The content items that were found in the cache. + /// Does not support mixing identifiers and keys. + public IEnumerable Content(params object[] ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(params Udi[] ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(params GuidUdi[] ids) => _publishedContentQuery.Content(ids); + + private IEnumerable ContentForObjects(IEnumerable ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets content items from the cache. + /// + /// The unique identifiers of the content items. + /// The content items that were found in the cache. + public IEnumerable Content(params int[] ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets content items from the cache. + /// + /// The keys of the content items. + /// The content items that were found in the cache. + public IEnumerable Content(params Guid[] ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets content items from the cache. + /// + /// The unique identifiers, or the keys, of the content items. + /// The content items that were found in the cache. + /// Does not support mixing identifiers and keys. + public IEnumerable Content(params string[] ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(IEnumerable ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(IEnumerable ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(IEnumerable ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(IEnumerable ids) => _publishedContentQuery.Content(ids); + + /// + /// Gets the contents corresponding to the identifiers. + /// + /// The content identifiers. + /// The existing contents corresponding to the identifiers. + /// If an identifier does not match an existing content, it will be missing in the returned value. + public IEnumerable Content(IEnumerable ids) => _publishedContentQuery.Content(ids); + + public IEnumerable ContentAtXPath(string xpath, params XPathVariable[] vars) + { + return _publishedContentQuery.ContentAtXPath(xpath, vars); + } + + public IEnumerable ContentAtXPath(XPathExpression xpath, params XPathVariable[] vars) + { + return _publishedContentQuery.ContentAtXPath(xpath, vars); + } + + public IEnumerable ContentAtRoot() + { + return _publishedContentQuery.ContentAtRoot(); + } + + + + + #endregion + #region Media + + public IPublishedContent Media(Udi id) => _publishedContentQuery.Media(id); + + public IPublishedContent Media(Guid id) => _publishedContentQuery.Media(id); + + /// + /// Overloaded method accepting an 'object' type + /// + /// + /// + /// + /// We accept an object type because GetPropertyValue now returns an 'object', we still want to allow people to pass + /// this result in to this method. + /// This method will throw an exception if the value is not of type int or string. + /// + public IPublishedContent Media(object id) + { + return MediaForObject(id); + } + + private IPublishedContent MediaForObject(object id) => _publishedContentQuery.Media(id); + + public IPublishedContent Media(int id) => _publishedContentQuery.Media(id); + + public IPublishedContent Media(string id) => _publishedContentQuery.Media(id); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(params object[] ids) => _publishedContentQuery.Media(ids); + + private IEnumerable MediaForObjects(IEnumerable ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(params int[] ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(params string[] ids) => _publishedContentQuery.Media(ids); + + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(params Udi[] ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(params GuidUdi[] ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(IEnumerable ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(IEnumerable ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(IEnumerable ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(IEnumerable ids) => _publishedContentQuery.Media(ids); + + /// + /// Gets the medias corresponding to the identifiers. + /// + /// The media identifiers. + /// The existing medias corresponding to the identifiers. + /// If an identifier does not match an existing media, it will be missing in the returned value. + public IEnumerable Media(IEnumerable ids) => _publishedContentQuery.Media(ids); + + public IEnumerable MediaAtRoot() + { + return _publishedContentQuery.MediaAtRoot(); + } + + #endregion + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/IPluginViewEngine.cs b/src/Umbraco.Web.Website/ViewEngines/IPluginViewEngine.cs new file mode 100644 index 0000000000..4bcb7b5dc2 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/IPluginViewEngine.cs @@ -0,0 +1,8 @@ +using Microsoft.AspNetCore.Mvc.Razor; + +namespace Umbraco.Web.Website.ViewEngines +{ + public interface IPluginViewEngine : IRazorViewEngine + { + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/IRenderViewEngine.cs b/src/Umbraco.Web.Website/ViewEngines/IRenderViewEngine.cs new file mode 100644 index 0000000000..6f21d21494 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/IRenderViewEngine.cs @@ -0,0 +1,8 @@ +using Microsoft.AspNetCore.Mvc.Razor; + +namespace Umbraco.Web.Website.ViewEngines +{ + public interface IRenderViewEngine : IRazorViewEngine + { + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/PluginMvcViewOptionsSetup.cs b/src/Umbraco.Web.Website/ViewEngines/PluginMvcViewOptionsSetup.cs new file mode 100644 index 0000000000..cf703ddaca --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/PluginMvcViewOptionsSetup.cs @@ -0,0 +1,26 @@ +using System; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; + +namespace Umbraco.Web.Website.ViewEngines +{ + public class PluginMvcViewOptionsSetup : IConfigureOptions + { + private readonly IPluginViewEngine _pluginViewEngine; + + public PluginMvcViewOptionsSetup(IPluginViewEngine pluginViewEngine) + { + _pluginViewEngine = pluginViewEngine ?? throw new ArgumentNullException(nameof(pluginViewEngine)); + } + + public void Configure(MvcViewOptions options) + { + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + options.ViewEngines.Add(_pluginViewEngine); + } + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/PluginViewEngine.cs b/src/Umbraco.Web.Website/ViewEngines/PluginViewEngine.cs new file mode 100644 index 0000000000..ac16be417a --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/PluginViewEngine.cs @@ -0,0 +1,48 @@ +using System.Diagnostics; +using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Mvc.Razor; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + +namespace Umbraco.Web.Website.ViewEngines +{ + /// + /// A view engine to look into the App_Plugins folder for views for packaged controllers + /// + public class PluginViewEngine : RazorViewEngine, IPluginViewEngine + { + public PluginViewEngine( + IRazorPageFactoryProvider pageFactory, + IRazorPageActivator pageActivator, + HtmlEncoder htmlEncoder, + ILoggerFactory loggerFactory, + DiagnosticListener diagnosticListener) + : base(pageFactory, pageActivator, htmlEncoder, OverrideViewLocations(), loggerFactory, diagnosticListener) + { + } + + private static IOptions OverrideViewLocations() + { + return Options.Create(new RazorViewEngineOptions() + { + AreaViewLocationFormats = + { + //set all of the area view locations to the plugin folder + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/{1}/{0}.cshtml"), + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Shared/{0}.cshtml"), + + //will be used when we have partial view and child action macros + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Partials/{0}.cshtml"), + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/MacroPartials/{0}.cshtml"), + //for partialsCurrent. + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/{1}/{0}.cshtml"), + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Shared/{0}.cshtml"), + }, + ViewLocationFormats = + { + string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/{1}/{0}.cshtml"), + } + }); + } + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngine.cs b/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngine.cs new file mode 100644 index 0000000000..070c3f4e65 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngine.cs @@ -0,0 +1,45 @@ + +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Umbraco.Core.Logging; + +namespace Umbraco.Web.Website.ViewEngines +{ + public class ProfilingViewEngine: IViewEngine + { + internal readonly IViewEngine Inner; + private readonly IProfiler _profiler; + private readonly string _name; + + public ProfilingViewEngine(IViewEngine inner, IProfiler profiler) + { + Inner = inner; + _profiler = profiler; + _name = inner.GetType().Name; + } + + public ViewEngineResult FindView(ActionContext context, string viewName, bool isMainPage) + { + using (_profiler.Step(string.Format("{0}.FindView, {1}, {2}", _name, viewName, isMainPage))) + { + return WrapResult(Inner.FindView(context, viewName, isMainPage)); + } + } + + private static ViewEngineResult WrapResult(ViewEngineResult innerResult) + { + var profiledResult = innerResult.View is null + ? ViewEngineResult.NotFound(innerResult.ViewName, innerResult.SearchedLocations) + : ViewEngineResult.Found(innerResult.ViewName, innerResult.View); + return profiledResult; + } + + public ViewEngineResult GetView(string executingFilePath, string viewPath, bool isMainPage) + { + using (_profiler.Step(string.Format("{0}.GetView, {1}, {2}, {3}", _name, executingFilePath, viewPath, isMainPage))) + { + return Inner.GetView(executingFilePath, viewPath, isMainPage); + } + } + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetup.cs b/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetup.cs new file mode 100644 index 0000000000..b8fbe1e527 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/ProfilingViewEngineWrapperMvcViewOptionsSetup.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Microsoft.Extensions.Options; +using Umbraco.Core.Logging; + +namespace Umbraco.Web.Website.ViewEngines +{ + public class ProfilingViewEngineWrapperMvcViewOptionsSetup : IConfigureOptions + { + private readonly IProfiler _profiler; + + public ProfilingViewEngineWrapperMvcViewOptionsSetup(IProfiler profiler) + { + _profiler = profiler ?? throw new ArgumentNullException(nameof(profiler)); + } + + public void Configure(MvcViewOptions options) + { + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + WrapViewEngines(options.ViewEngines); + } + + private void WrapViewEngines(IList viewEngines) + { + if (viewEngines == null || viewEngines.Count == 0) return; + + var originalEngines = viewEngines.ToList(); + viewEngines.Clear(); + foreach (var engine in originalEngines) + { + var wrappedEngine = engine is ProfilingViewEngine ? engine : new ProfilingViewEngine(engine, _profiler); + viewEngines.Add(wrappedEngine); + } + } + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/RenderMvcViewOptionsSetup.cs b/src/Umbraco.Web.Website/ViewEngines/RenderMvcViewOptionsSetup.cs new file mode 100644 index 0000000000..d8ad58cc91 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/RenderMvcViewOptionsSetup.cs @@ -0,0 +1,26 @@ +using System; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; + +namespace Umbraco.Web.Website.ViewEngines +{ + public class RenderMvcViewOptionsSetup : IConfigureOptions + { + private readonly IRenderViewEngine _renderViewEngine; + + public RenderMvcViewOptionsSetup(IRenderViewEngine renderViewEngine) + { + _renderViewEngine = renderViewEngine ?? throw new ArgumentNullException(nameof(renderViewEngine)); + } + + public void Configure(MvcViewOptions options) + { + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + options.ViewEngines.Add(_renderViewEngine); + } + } +} diff --git a/src/Umbraco.Web.Website/ViewEngines/RenderViewEngine.cs b/src/Umbraco.Web.Website/ViewEngines/RenderViewEngine.cs new file mode 100644 index 0000000000..ea727a07f1 --- /dev/null +++ b/src/Umbraco.Web.Website/ViewEngines/RenderViewEngine.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Razor; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Umbraco.Core.Hosting; +using Umbraco.Extensions; +using Umbraco.Web.Models; + +namespace Umbraco.Web.Website.ViewEngines +{ + /// + /// A view engine to look into the template location specified in the config for the front-end/Rendering part of the cms, + /// this includes paths to render partial macros and media item templates. + /// + public class RenderViewEngine : RazorViewEngine, IRenderViewEngine + { + + public RenderViewEngine( + IRazorPageFactoryProvider pageFactory, + IRazorPageActivator pageActivator, + HtmlEncoder htmlEncoder, + ILoggerFactory loggerFactory, + DiagnosticListener diagnosticListener) + : base(pageFactory, pageActivator, htmlEncoder, OverrideViewLocations(), loggerFactory, diagnosticListener) + { + } + + private static IOptions OverrideViewLocations() + { + return Options.Create(new RazorViewEngineOptions() + { + //NOTE: we will make the main view location the last to be searched since if it is the first to be searched and there is both a view and a partial + // view in both locations and the main view is rendering a partial view with the same name, we will get a stack overflow exception. + // http://issues.umbraco.org/issue/U4-1287, http://issues.umbraco.org/issue/U4-1215 + ViewLocationFormats = + { + "/Partials/{0}.cshtml", + "/MacroPartials/{0}.cshtml", + "/{0}.cshtml" + }, + AreaViewLocationFormats = + { + "/Partials/{0}.cshtml", + "/MacroPartials/{0}.cshtml", + "/{0}.cshtml" + } + }); + } + + public new ViewEngineResult FindView(ActionContext context, string viewName, bool isMainPage) + { + return ShouldFindView(context, isMainPage) + ? base.FindView(context, viewName, isMainPage) + : ViewEngineResult.NotFound(viewName, Array.Empty()); + } + + /// + /// Determines if the view should be found, this is used for view lookup performance and also to ensure + /// less overlap with other user's view engines. This will return true if the Umbraco back office is rendering + /// and its a partial view or if the umbraco front-end is rendering but nothing else. + /// + /// + /// + /// + private static bool ShouldFindView(ActionContext context, bool isMainPage) + { + //In v8, this was testing recursively into if it was a child action, but child action do not exist anymore, + //And my best guess is that it + context.RouteData.DataTokens.TryGetValue(Core.Constants.Web.UmbracoDataToken, out var umbracoToken); + // first check if we're rendering a partial view for the back office, or surface controller, etc... + // anything that is not ContentModel as this should only pertain to Umbraco views. + if (!isMainPage && !(umbracoToken is ContentModel)) + return true; + + // only find views if we're rendering the umbraco front end + return umbracoToken is ContentModel; + } + + + } +} diff --git a/src/Umbraco.Web/AreaRegistrationContextExtensions.cs b/src/Umbraco.Web/AreaRegistrationContextExtensions.cs deleted file mode 100644 index 1321d3722c..0000000000 --- a/src/Umbraco.Web/AreaRegistrationContextExtensions.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Web.Http; -using System.Web.Mvc; -using System.Web.Routing; - -namespace Umbraco.Web -{ - internal static class AreaRegistrationContextExtensions - { - public static Route MapHttpRoute(this AreaRegistrationContext context, string name, string url, object defaults, string[] namespaces) - { - var apiRoute = context.Routes.MapHttpRoute( - name, - url, - defaults); - - //web api routes don't set the data tokens object - if (apiRoute.DataTokens == null) - { - apiRoute.DataTokens = new RouteValueDictionary(); - } - apiRoute.DataTokens.Add("area", context.AreaName); - apiRoute.DataTokens.Add("Namespaces", namespaces); //look in this namespace to create the controller - apiRoute.DataTokens.Add("UseNamespaceFallback", false); //Don't look anywhere else except this namespace! - - return apiRoute; - } - } -} diff --git a/src/Umbraco.Web/Composing/Current.cs b/src/Umbraco.Web/Composing/Current.cs index 5a190a90a5..b1e13745d8 100644 --- a/src/Umbraco.Web/Composing/Current.cs +++ b/src/Umbraco.Web/Composing/Current.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Cache; @@ -43,12 +44,12 @@ namespace Umbraco.Web.Composing { private static readonly object Locker = new object(); - private static IFactory _factory; + private static IServiceProvider _factory; /// /// Gets or sets the factory. /// - public static IFactory Factory + public static IServiceProvider Factory { get { @@ -58,44 +59,12 @@ namespace Umbraco.Web.Composing } set { - if (_factory != null) - throw new InvalidOperationException("A factory has already been set."); _factory = value; } } private static IUmbracoContextAccessor _umbracoContextAccessor; - static Current() - { - Resetted += (sender, args) => - { - if (_umbracoContextAccessor != null) - { - var umbracoContext = _umbracoContextAccessor.UmbracoContext; - umbracoContext?.Dispose(); - } - _umbracoContextAccessor = null; - }; - } - - /// - /// for UNIT TESTS exclusively! Resets . Indented for testing only, and not supported in production code. - /// - /// - /// For UNIT TESTS exclusively. - /// Resets everything that is 'current'. - /// - public static void Reset() - { - _factory.DisposeIfDisposable(); - _factory = null; - - Resetted?.Invoke(null, EventArgs.Empty); - } - - internal static event EventHandler Resetted; - #region Temp & Special @@ -106,7 +75,7 @@ namespace Umbraco.Web.Composing get { if (_umbracoContextAccessor != null) return _umbracoContextAccessor; - return _umbracoContextAccessor = Factory.GetInstance(); + return _umbracoContextAccessor = Factory.GetRequiredService(); } set => _umbracoContextAccessor = value; // for tests } @@ -119,65 +88,62 @@ namespace Umbraco.Web.Composing => UmbracoContextAccessor.UmbracoContext; public static UmbracoHelper UmbracoHelper - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static IUmbracoComponentRenderer UmbracoComponentRenderer - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static ITagQuery TagQuery - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static IRuntimeMinifier RuntimeMinifier - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static DistributedCache DistributedCache - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static IPublishedSnapshot PublishedSnapshot - => Factory.GetInstance().PublishedSnapshot; + => Factory.GetRequiredService().PublishedSnapshot; public static EventMessages EventMessages - => Factory.GetInstance().GetOrDefault(); + => Factory.GetRequiredService().GetOrDefault(); public static UrlProviderCollection UrlProviders - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static MediaUrlProviderCollection MediaUrlProviders - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static HealthCheckCollectionBuilder HealthCheckCollectionBuilder - => Factory.GetInstance(); + => Factory.GetRequiredService(); internal static ActionCollectionBuilder ActionCollectionBuilder - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static ActionCollection Actions - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static ContentFinderCollection ContentFinders - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static IContentLastChanceFinder LastChanceContentFinder - => Factory.GetInstance(); + => Factory.GetRequiredService(); internal static EditorValidatorCollection EditorValidators - => Factory.GetInstance(); + => Factory.GetRequiredService(); internal static UmbracoApiControllerTypeCollection UmbracoApiControllerTypes - => Factory.GetInstance(); - - internal static SurfaceControllerTypeCollection SurfaceControllerTypes - => Factory.GetInstance(); + => Factory.GetRequiredService(); internal static IPublishedSnapshotService PublishedSnapshotService - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static ITreeService TreeService - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static ISectionService SectionService - => Factory.GetInstance(); + => Factory.GetRequiredService(); public static IIconService IconService - => Factory.GetInstance(); + => Factory.GetRequiredService(); #endregion @@ -207,49 +173,49 @@ namespace Umbraco.Web.Composing // proxy Core for convenience - public static IMediaFileSystem MediaFileSystem => Factory.GetInstance(); + public static IMediaFileSystem MediaFileSystem => Factory.GetRequiredService(); - public static UmbracoMapper Mapper => Factory.GetInstance(); + public static UmbracoMapper Mapper => Factory.GetRequiredService(); - public static IRuntimeState RuntimeState => Factory.GetInstance(); + public static IRuntimeState RuntimeState => Factory.GetRequiredService(); - public static CacheRefresherCollection CacheRefreshers => Factory.GetInstance(); + public static CacheRefresherCollection CacheRefreshers => Factory.GetRequiredService(); - internal static IPublishedModelFactory PublishedModelFactory => Factory.GetInstance(); + internal static IPublishedModelFactory PublishedModelFactory => Factory.GetRequiredService(); - public static IServerMessenger ServerMessenger => Factory.GetInstance(); + public static IServerMessenger ServerMessenger => Factory.GetRequiredService(); - public static ILogger Logger => Factory.GetInstance>(); + public static ILogger Logger => Factory.GetRequiredService>(); - public static ILoggerFactory LoggerFactory => Factory.GetInstance(); + public static ILoggerFactory LoggerFactory => Factory.GetRequiredService(); - public static IProfiler Profiler => Factory.GetInstance(); + public static IProfiler Profiler => Factory.GetRequiredService(); - public static IProfilerHtml ProfilerHtml => Factory.GetInstance(); + public static IProfilerHtml ProfilerHtml => Factory.GetRequiredService(); - public static IProfilingLogger ProfilingLogger => Factory.GetInstance(); + public static IProfilingLogger ProfilingLogger => Factory.GetRequiredService(); - public static AppCaches AppCaches => Factory.GetInstance(); + public static AppCaches AppCaches => Factory.GetRequiredService(); - public static ServiceContext Services => Factory.GetInstance(); + public static ServiceContext Services => Factory.GetRequiredService(); - public static IScopeProvider ScopeProvider => Factory.GetInstance(); + public static IScopeProvider ScopeProvider => Factory.GetRequiredService(); - public static IPublishedContentTypeFactory PublishedContentTypeFactory => Factory.GetInstance(); + public static IPublishedContentTypeFactory PublishedContentTypeFactory => Factory.GetRequiredService(); - public static IPublishedValueFallback PublishedValueFallback => Factory.GetInstance(); + public static IPublishedValueFallback PublishedValueFallback => Factory.GetRequiredService(); - public static IVariationContextAccessor VariationContextAccessor => Factory.GetInstance(); + public static IVariationContextAccessor VariationContextAccessor => Factory.GetRequiredService(); - public static IIOHelper IOHelper => Factory.GetInstance(); - public static IHostingEnvironment HostingEnvironment => Factory.GetInstance(); - public static IIpResolver IpResolver => Factory.GetInstance(); - public static IUmbracoVersion UmbracoVersion => Factory.GetInstance(); - public static IPublishedUrlProvider PublishedUrlProvider => Factory.GetInstance(); - public static IMenuItemCollectionFactory MenuItemCollectionFactory => Factory.GetInstance(); - public static MembershipHelper MembershipHelper => Factory.GetInstance(); - public static IUmbracoApplicationLifetime UmbracoApplicationLifetime => Factory.GetInstance(); - public static IPublishedContentQuery PublishedContentQuery => Factory.GetInstance(); + public static IIOHelper IOHelper => Factory.GetRequiredService(); + public static IHostingEnvironment HostingEnvironment => Factory.GetRequiredService(); + public static IIpResolver IpResolver => Factory.GetRequiredService(); + public static IUmbracoVersion UmbracoVersion => Factory.GetRequiredService(); + public static IPublishedUrlProvider PublishedUrlProvider => Factory.GetRequiredService(); + public static IMenuItemCollectionFactory MenuItemCollectionFactory => Factory.GetRequiredService(); + public static MembershipHelper MembershipHelper => Factory.GetRequiredService(); + public static IUmbracoApplicationLifetime UmbracoApplicationLifetime => Factory.GetRequiredService(); + public static IPublishedContentQuery PublishedContentQuery => Factory.GetRequiredService(); #endregion } diff --git a/src/Umbraco.Web/Composing/ModuleInjector.cs b/src/Umbraco.Web/Composing/ModuleInjector.cs index 57ef766dea..5cfec1c484 100644 --- a/src/Umbraco.Web/Composing/ModuleInjector.cs +++ b/src/Umbraco.Web/Composing/ModuleInjector.cs @@ -1,4 +1,5 @@ using System.Web; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Exceptions; @@ -20,7 +21,7 @@ namespace Umbraco.Web.Composing try { // using the service locator here - no other way, really - Module = Current.Factory.GetInstance(); + Module = Current.Factory.GetRequiredService(); } catch { @@ -30,7 +31,7 @@ namespace Umbraco.Web.Composing try { - runtimeState = Current.Factory.GetInstance(); + runtimeState = Current.Factory.GetRequiredService(); } catch { /* don't make it worse */ } diff --git a/src/Umbraco.Web/CompositionExtensions.cs b/src/Umbraco.Web/CompositionExtensions.cs index 906c8fb60d..d96e21aa3d 100644 --- a/src/Umbraco.Web/CompositionExtensions.cs +++ b/src/Umbraco.Web/CompositionExtensions.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Web.Actions; @@ -28,7 +29,12 @@ namespace Umbraco.Web /// public static class WebCompositionExtensions { - + [Obsolete("This extension method exists only to ease migration, please refactor")] + public static IServiceProvider CreateServiceProvider(this Composition composition) + { + composition.RegisterBuilders(); + return composition.Services.BuildServiceProvider(); + } #region Uniques @@ -38,9 +44,9 @@ namespace Umbraco.Web /// The type of the content last chance finder. /// The composition. public static void SetContentLastChanceFinder(this Composition composition) - where T : IContentLastChanceFinder + where T : class, IContentLastChanceFinder { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -48,9 +54,9 @@ namespace Umbraco.Web /// /// The composition. /// A function creating a last chance finder. - public static void SetContentLastChanceFinder(this Composition composition, Func factory) + public static void SetContentLastChanceFinder(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -60,7 +66,7 @@ namespace Umbraco.Web /// A last chance finder. public static void SetContentLastChanceFinder(this Composition composition, IContentLastChanceFinder finder) { - composition.RegisterUnique(_ => finder); + composition.Services.AddUnique(_ => finder); } /// @@ -69,9 +75,9 @@ namespace Umbraco.Web /// The type of the site domain helper. /// public static void SetSiteDomainHelper(this Composition composition) - where T : ISiteDomainHelper + where T : class, ISiteDomainHelper { - composition.RegisterUnique(); + composition.Services.AddUnique(); } /// @@ -79,9 +85,9 @@ namespace Umbraco.Web /// /// The composition. /// A function creating a helper. - public static void SetSiteDomainHelper(this Composition composition, Func factory) + public static void SetSiteDomainHelper(this Composition composition, Func factory) { - composition.RegisterUnique(factory); + composition.Services.AddUnique(factory); } /// @@ -91,32 +97,7 @@ namespace Umbraco.Web /// A helper. public static void SetSiteDomainHelper(this Composition composition, ISiteDomainHelper helper) { - composition.RegisterUnique(_ => helper); - } - - /// - /// Sets the default controller for rendering template views. - /// - /// The type of the controller. - /// The composition. - /// The controller type is registered to the container by the composition. - public static void SetDefaultRenderMvcController(this Composition composition) - => composition.SetDefaultRenderMvcController(typeof(TController)); - - /// - /// Sets the default controller for rendering template views. - /// - /// The composition. - /// The type of the controller. - /// The controller type is registered to the container by the composition. - public static void SetDefaultRenderMvcController(this Composition composition, Type controllerType) - { - composition.OnCreatingFactory["Umbraco.Core.DefaultRenderMvcController"] = () => - { - // no need to register: all IRenderMvcController are registered - //composition.Register(controllerType, Lifetime.Request); - Current.DefaultRenderMvcControllerType = controllerType; - }; + composition.Services.AddUnique(_ => helper); } #endregion diff --git a/src/Umbraco.Web/Logging/OwinLoggerFactory.cs b/src/Umbraco.Web/Logging/OwinLoggerFactory.cs index 278fa3f0b4..d8b76145c6 100644 --- a/src/Umbraco.Web/Logging/OwinLoggerFactory.cs +++ b/src/Umbraco.Web/Logging/OwinLoggerFactory.cs @@ -1,6 +1,6 @@ using System; using Microsoft.Owin.Logging; -using Umbraco.Composing; +using Umbraco.Core; namespace Umbraco.Web.Logging { @@ -13,7 +13,7 @@ namespace Umbraco.Web.Logging /// public Microsoft.Owin.Logging.ILogger Create(string name) { - return new OwinLogger(Current.Logger, new Lazy(() => Type.GetType(name) ?? typeof (OwinLogger))); + return new OwinLogger(StaticApplicationLogging.Logger, new Lazy(() => Type.GetType(name) ?? typeof (OwinLogger))); } } } diff --git a/src/Umbraco.Web/Mvc/ActionExecutedEventArgs.cs b/src/Umbraco.Web/Mvc/ActionExecutedEventArgs.cs deleted file mode 100644 index 6904aa103a..0000000000 --- a/src/Umbraco.Web/Mvc/ActionExecutedEventArgs.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Web.Mvc; - -namespace Umbraco.Web.Mvc -{ - /// Migrated already to .Net Core - public class ActionExecutedEventArgs : EventArgs - { - public Controller Controller { get; set; } - public object Model { get; set; } - - public ActionExecutedEventArgs(Controller controller, object model) - { - Controller = controller; - Model = model; - } - } -} diff --git a/src/Umbraco.Web/Mvc/AdminTokenAuthorizeAttribute.cs b/src/Umbraco.Web/Mvc/AdminTokenAuthorizeAttribute.cs deleted file mode 100644 index 25a2f958f8..0000000000 --- a/src/Umbraco.Web/Mvc/AdminTokenAuthorizeAttribute.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Net.Http.Headers; -using System.Text; -using System.Text.RegularExpressions; -using System.Web; -using System.Web.Mvc; -using Microsoft.Extensions.Logging; -using Umbraco.Core; -using Umbraco.Core.Services; -using Umbraco.Web.Composing; - -namespace Umbraco.Web.Mvc -{ - /// - /// Used for authorizing scheduled tasks - /// - public sealed class AdminTokenAuthorizeAttribute : AuthorizeAttribute - { - // see note in HttpInstallAuthorizeAttribute - private readonly IUserService _userService; - private readonly IRuntimeState _runtimeState; - private readonly ILogger _logger; - - private IUserService UserService => _userService ?? Current.Services.UserService; - - private IRuntimeState RuntimeState => _runtimeState ?? Current.RuntimeState; - - private ILogger Logger => _logger ?? Current.Logger; - - /// - /// THIS SHOULD BE ONLY USED FOR UNIT TESTS - /// - /// - /// - public AdminTokenAuthorizeAttribute(IUserService userService, IRuntimeState runtimeState) - { - if (userService == null) throw new ArgumentNullException(nameof(userService)); - if (runtimeState == null) throw new ArgumentNullException(nameof(runtimeState)); - _userService = userService; - _runtimeState = runtimeState; - } - - public AdminTokenAuthorizeAttribute() - { } - - public const string AuthorizationType = "AToken"; - - /// - /// Used to return the full value that needs to go in the Authorization header - /// - /// - /// - public static string GetAuthHeaderTokenVal(IUserService userService) - { - return $"{AuthorizationType} {GetAuthHeaderVal(userService)}"; - } - - public static AuthenticationHeaderValue GetAuthenticationHeaderValue(IUserService userService) - { - return new AuthenticationHeaderValue(AuthorizationType, GetAuthHeaderVal(userService)); - } - - private static string GetAuthHeaderVal(IUserService userService) - { - var admin = userService.GetUserById(Core.Constants.Security.SuperUserId); - - var token = $"{admin.Email}u____u{admin.Username}u____u{admin.RawPasswordValue}"; - - var encrypted = token.EncryptWithMachineKey(); - var bytes = Encoding.UTF8.GetBytes(encrypted); - var base64 = Convert.ToBase64String(bytes); - return $"val=\"{base64}\""; - } - - /// - /// Ensures that the user must be in the Administrator or the Install role - /// - /// - /// - protected override bool AuthorizeCore(HttpContextBase httpContext) - { - if (httpContext == null) throw new ArgumentNullException(nameof(httpContext)); - - // we need to that the app is configured and that a user is logged in - if (RuntimeState.Level != RuntimeLevel.Run) return false; - - // need the auth header - if (httpContext.Request.Headers["Authorization"] == null || httpContext.Request.Headers["Authorization"].IsNullOrWhiteSpace()) return false; - - var header = httpContext.Request.Headers["Authorization"]; - if (header.StartsWith("AToken ") == false) return false; - - var keyVal = Regex.Matches(header, "AToken val=(.*?)(?:$|\\s)"); - if (keyVal.Count != 1) return false; - if (keyVal[0].Groups.Count != 2) return false; - - var admin = UserService.GetUserById(Core.Constants.Security.SuperUserId); - if (admin == null) return false; - - try - { - //get the token value from the header - var val = keyVal[0].Groups[1].Value.Trim("\""); - //un-base 64 the string - var bytes = Convert.FromBase64String(val); - var encrypted = Encoding.UTF8.GetString(bytes); - //decrypt the string - var text = encrypted.DecryptWithMachineKey(); - - //split - some users have not set an email, don't strip out empty entries - var split = text.Split(new[] {"u____u"}, StringSplitOptions.None); - if (split.Length != 3) return false; - - //compare - return - split[0] == admin.Email - && split[1] == admin.Username - && split[2] == admin.RawPasswordValue; - } - catch (Exception ex) - { - Logger.LogError(ex, "Failed to format passed in token value"); - return false; - } - } - } -} diff --git a/src/Umbraco.Web/Mvc/Constants.cs b/src/Umbraco.Web/Mvc/Constants.cs deleted file mode 100644 index c71ed6b104..0000000000 --- a/src/Umbraco.Web/Mvc/Constants.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Umbraco.Web.Mvc -{ - /// - /// constants - /// - /// Migrated already to .Net Core - internal static class Constants - { - internal const string ViewLocation = "~/Views"; - - internal const string DataTokenCurrentViewContext = "umbraco-current-view-context"; - } -} diff --git a/src/Umbraco.Web/Mvc/DisableBrowserCacheAttribute.cs b/src/Umbraco.Web/Mvc/DisableBrowserCacheAttribute.cs deleted file mode 100644 index 567e9ca145..0000000000 --- a/src/Umbraco.Web/Mvc/DisableBrowserCacheAttribute.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Web; -using System.Web.Mvc; - -namespace Umbraco.Web.Mvc -{ - /// - /// Ensures that the request is not cached by the browser - /// - public class DisableBrowserCacheAttribute : ActionFilterAttribute - { - public override void OnResultExecuting(ResultExecutingContext filterContext) - { - base.OnResultExecuting(filterContext); - - // could happens if exception (but AFAIK this wouldn't happen in MVC) - if (filterContext.HttpContext == null || filterContext.HttpContext.Response == null || - filterContext.HttpContext.Response.Cache == null) - { - return; - } - - if (filterContext.IsChildAction) - { - return; - } - - if (filterContext.HttpContext.Response.StatusCode != 200) - { - return; - } - - filterContext.HttpContext.Response.Cache.SetLastModified(DateTime.Now); - filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false); - filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); - filterContext.HttpContext.Response.Cache.SetMaxAge(TimeSpan.Zero); - filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); - filterContext.HttpContext.Response.Cache.SetNoStore(); - filterContext.HttpContext.Response.AddHeader("Pragma", "no-cache"); - filterContext.HttpContext.Response.Cache.SetExpires(new DateTime(1990, 1, 1, 0, 0, 0)); - } - } -} diff --git a/src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs b/src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs index feeec0a1ba..3ca7e861ac 100644 --- a/src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs +++ b/src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs @@ -1,5 +1,6 @@ using System; using System.Web.Mvc; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Web.Routing; using Umbraco.Core; using Umbraco.Core.Composing; @@ -72,9 +73,9 @@ namespace Umbraco.Web.Mvc protected IUmbracoContext UmbracoContext => _umbracoContextAccessor?.UmbracoContext ?? Current.UmbracoContext; // TODO: try lazy property injection? - private IPublishedRouter PublishedRouter => Current.Factory.GetInstance(); + private IPublishedRouter PublishedRouter => Current.Factory.GetRequiredService(); - private IPublishedContentQuery PublishedContentQuery => _publishedContentQuery ?? (_publishedContentQuery = Current.Factory.GetInstance()); + private IPublishedContentQuery PublishedContentQuery => _publishedContentQuery ?? (_publishedContentQuery = Current.Factory.GetRequiredService()); public override void OnActionExecuted(ActionExecutedContext filterContext) { diff --git a/src/Umbraco.Web/Mvc/HtmlTagWrapper.cs b/src/Umbraco.Web/Mvc/HtmlTagWrapper.cs deleted file mode 100644 index 518121eef9..0000000000 --- a/src/Umbraco.Web/Mvc/HtmlTagWrapper.cs +++ /dev/null @@ -1,212 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Web.UI; -using System.IO; -using System.Web; -using Umbraco.Core; - -namespace Umbraco.Web.Mvc -{ - public class HtmlTagWrapper : IHtmlTagWrapper, IHtmlString - { - public HtmlTagWrapper Parent; - - private readonly List _children; - public IEnumerable Children - { - get { return _children; } - } - - private List> _attributes; - public IEnumerable> Attributes - { - get { return _attributes; } - } - - public void ReflectAttributesFromAnonymousType(List> newAttributes) - { - List> mergedAttributes = - newAttributes - .Concat(Attributes) - .GroupBy(kvp => kvp.Key, kvp => kvp.Value) - .Select(g => new KeyValuePair(g.Key, string.Join(" ", g.ToArray()))) - .ToList(); - - _attributes = mergedAttributes; - } - public void ReflectAttributesFromAnonymousType(object anonymousAttributes) - { - var newAttributes = - anonymousAttributes - .GetType() - .GetProperties() - .Where(prop => !string.IsNullOrWhiteSpace(string.Format("{0}", prop.GetValue(anonymousAttributes, null)))) - .ToList() - .ConvertAll(prop => - new KeyValuePair( - prop.Name, - string.Format("{0}", prop.GetValue(anonymousAttributes, null)) - ) - ); - ReflectAttributesFromAnonymousType(newAttributes); - - } - - public List CssClasses; - public string Tag; - public bool Visible; - - public HtmlTagWrapper(string tag) - { - this.Tag = tag; - this._children = new List(); - this.CssClasses = new List(); - this._attributes = new List>(); - this.Visible = true; - } - public HtmlString Write() - { - if ((Children.Any() || Attributes.Any() || CssClasses.Count > 0) && Visible) - { - using (MemoryStream ms = new MemoryStream()) - { - using (TextWriter tw = new StreamWriter(ms)) - { - HtmlTextWriter html = new HtmlTextWriter(tw); - this.WriteToHtmlTextWriter(html); - tw.Flush(); - ms.Position = 0; - using (TextReader tr = new StreamReader(ms)) - { - string result = tr.ReadToEnd(); - return new HtmlString(result); - } - } - } - } - return new HtmlString(string.Empty); - } - public override string ToString() - { - return "Use @item.Write() to emit the HTML rather than @item"; - } - public IHtmlString ToHtml() - { - return this.Write(); - } - public void WriteToHtmlTextWriter(HtmlTextWriter html) - { - html.WriteBeginTag(Tag); - string cssClassNames = string.Join(" ", CssClasses.ToArray()).Trim(); - foreach (var attribute in Attributes) - { - html.WriteAttribute(attribute.Key, attribute.Value); - } - if (!string.IsNullOrWhiteSpace(cssClassNames)) - { - html.WriteAttribute("class", cssClassNames); - } - html.Write(HtmlTextWriter.TagRightChar); - foreach (var child in Children) - { - child.WriteToHtmlTextWriter(html); - } - html.WriteEndTag(Tag); - } - - public HtmlTagWrapper AddClassName(string className) - { - className = className.Trim(); - if (!this.CssClasses.Contains(className)) - { - this.CssClasses.Add(className); - } - return this; - } - - public HtmlTagWrapper RemoveClassName(string className) - { - className = className.Trim(); - if (this.CssClasses.Contains(className)) - { - this.CssClasses.Remove(className); - } - return this; - } - - public bool HasClassName(string className) - { - className = className.Trim(); - return (this.CssClasses.Contains(className)); - } - - public HtmlTagWrapper Attr(object newAttributes) - { - this.ReflectAttributesFromAnonymousType(newAttributes); - return this; - } - public HtmlTagWrapper Attr(string name, string value) - { - if (!string.IsNullOrWhiteSpace(value)) - { - var newAttributes = new List> {new KeyValuePair(name, value)}; - this.ReflectAttributesFromAnonymousType(newAttributes); - } - else - { - var existingKey = this._attributes.Find(item => item.Key == name); - _attributes.Remove(existingKey); - } - return this; - } - - public HtmlTagWrapper AddChild(IHtmlTagWrapper newChild) - { - _children.Add(newChild); - return this; - } - public HtmlTagWrapper AddChildren(params IHtmlTagWrapper[] collection) - { - _children.AddRange(collection); - return this; - } - public HtmlTagWrapper AddChild(string text) - { - _children.Add(new HtmlTagWrapperTextNode(text)); - return this; - } - public HtmlTagWrapper AddChildAt(int index, IHtmlTagWrapper newChild) - { - _children.Insert(index, newChild); - return this; - } - public HtmlTagWrapper AddChildAt(int index, string text) - { - _children.Insert(index, new HtmlTagWrapperTextNode(text)); - return this; - } - public HtmlTagWrapper AddChildrenAt(int index, params IHtmlTagWrapper[] collection) - { - _children.InsertRange(index, collection); - return this; - } - public HtmlTagWrapper RemoveChildAt(int index) - { - return this; - } - public int CountChildren() - { - return this.Children.Count(); - } - public HtmlTagWrapper ClearChildren() - { - return this; - } - - public string ToHtmlString() - { - return this.Write().ToHtmlString(); - } - } - -} diff --git a/src/Umbraco.Web/Mvc/HtmlTagWrapperTextNode.cs b/src/Umbraco.Web/Mvc/HtmlTagWrapperTextNode.cs deleted file mode 100644 index 1085c2a279..0000000000 --- a/src/Umbraco.Web/Mvc/HtmlTagWrapperTextNode.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Umbraco.Core; - -namespace Umbraco.Web.Mvc -{ - public class HtmlTagWrapperTextNode : IHtmlTagWrapper - { - public string Content { get; private set; } - public HtmlTagWrapperTextNode(string content) - { - this.Content = content; - } - - public void WriteToHtmlTextWriter(System.Web.UI.HtmlTextWriter html) - { - html.WriteEncodedText(Content); - } - } -} diff --git a/src/Umbraco.Web/Mvc/IHtmlTagWrapper.cs b/src/Umbraco.Web/Mvc/IHtmlTagWrapper.cs deleted file mode 100644 index 1c0ff9ca47..0000000000 --- a/src/Umbraco.Web/Mvc/IHtmlTagWrapper.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Web.UI; - -namespace Umbraco.Web.Mvc -{ - public interface IHtmlTagWrapper - { - void WriteToHtmlTextWriter(HtmlTextWriter html); - } -} diff --git a/src/Umbraco.Web/Mvc/PluginController.cs b/src/Umbraco.Web/Mvc/PluginController.cs index 09ed97171e..59521255c9 100644 --- a/src/Umbraco.Web/Mvc/PluginController.cs +++ b/src/Umbraco.Web/Mvc/PluginController.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Concurrent; using System.Web.Mvc; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Composing; @@ -66,11 +67,11 @@ namespace Umbraco.Web.Mvc protected PluginController() : this( - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance() + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService() ) { } diff --git a/src/Umbraco.Web/Mvc/PluginViewEngine.cs b/src/Umbraco.Web/Mvc/PluginViewEngine.cs deleted file mode 100644 index aa81cb9a57..0000000000 --- a/src/Umbraco.Web/Mvc/PluginViewEngine.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System.IO; -using System.Linq; -using System.Web.Mvc; -using Umbraco.Web.Composing; - -namespace Umbraco.Web.Mvc -{ - /// - /// A view engine to look into the App_Plugins folder for views for packaged controllers - /// - public class PluginViewEngine : RazorViewEngine - { - - /// - /// Constructor - /// - public PluginViewEngine() - { - SetViewLocations(); - } - - private void SetViewLocations() - { - //these are the originals: - - //base.AreaViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; - //base.AreaMasterLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; - //base.AreaPartialViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" }; - //base.ViewLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; - //base.MasterLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; - //base.PartialViewLocationFormats = new string[] { "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" }; - //base.FileExtensions = new string[] { "cshtml", "vbhtml" }; - - var viewLocationsArray = new[] - { - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/{1}/{0}.cshtml"), - }; - - //set all of the area view locations to the plugin folder - AreaViewLocationFormats = viewLocationsArray - .Concat(new[] - { - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Shared/{0}.cshtml"), - }) - .ToArray(); - - AreaMasterLocationFormats = viewLocationsArray; - - AreaPartialViewLocationFormats = new[] - { - //will be used when we have partial view and child action macros - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Partials/{0}.cshtml"), - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/MacroPartials/{0}.cshtml"), - //for partialsCurrent. - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/{1}/{0}.cshtml"), - string.Concat(Core.Constants.SystemDirectories.AppPlugins, "/{2}/Views/Shared/{0}.cshtml"), - }; - - } - - /// - /// Ensures that the correct web.config for razor exists in the /Views folder. - /// - private void EnsureFolderAndWebConfig(ViewEngineResult result) - { - if (result.View == null) return; - var razorResult = result.View as RazorView; - if (razorResult == null) return; - - var folder = Path.GetDirectoryName(Current.IOHelper.MapPath(razorResult.ViewPath)); - //now we need to get the /View/ folder - var viewFolder = folder.Substring(0, folder.LastIndexOf("\\Views\\")) + "\\Views"; - - //ensure the web.config file is in the ~/Views folder - Directory.CreateDirectory(viewFolder); - if (!File.Exists(Path.Combine(viewFolder, "web.config"))) - { - using (var writer = File.CreateText(Path.Combine(viewFolder, "web.config"))) - { - writer.Write(Strings.WebConfigTemplate); - } - } - } - - public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache) - { - var result = base.FindView(controllerContext, viewName, masterName, useCache); - EnsureFolderAndWebConfig(result); - return result; - } - - public override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) - { - var result = base.FindPartialView(controllerContext, partialViewName, useCache); - EnsureFolderAndWebConfig(result); - return result; - } - } -} diff --git a/src/Umbraco.Web/Mvc/ProfilingViewEngine.cs b/src/Umbraco.Web/Mvc/ProfilingViewEngine.cs deleted file mode 100644 index 097434541c..0000000000 --- a/src/Umbraco.Web/Mvc/ProfilingViewEngine.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System.Web.Mvc; -using Umbraco.Web.Composing; - -namespace Umbraco.Web.Mvc -{ - public class ProfilingViewEngine: IViewEngine - { - internal readonly IViewEngine Inner; - private readonly string _name; - - public ProfilingViewEngine(IViewEngine inner) - { - Inner = inner; - _name = inner.GetType().Name; - } - - public ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) - { - using (Current.Profiler.Step(string.Format("{0}.FindPartialView, {1}, {2}", _name, partialViewName, useCache))) - { - return WrapResult(Inner.FindPartialView(controllerContext, partialViewName, useCache)); - } - } - - public ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache) - { - using (Current.Profiler.Step(string.Format("{0}.FindView, {1}, {2}, {3}", _name, viewName, masterName, useCache))) - { - return WrapResult(Inner.FindView(controllerContext, viewName, masterName, useCache)); - } - } - - private static ViewEngineResult WrapResult(ViewEngineResult innerResult) - { - var profiledResult = innerResult.View != null ? - new ViewEngineResult(new ProfilingView(innerResult.View), innerResult.ViewEngine) : - new ViewEngineResult(innerResult.SearchedLocations); - return profiledResult; - } - - public void ReleaseView(ControllerContext controllerContext, IView view) - { - using (Current.Profiler.Step(string.Format("{0}.ReleaseView, {1}", _name, view.GetType().Name))) - { - Inner.ReleaseView(controllerContext, view); - } - } - } -} diff --git a/src/Umbraco.Web/Mvc/RenderRouteHandler.cs b/src/Umbraco.Web/Mvc/RenderRouteHandler.cs index af896ae243..cbad7de789 100644 --- a/src/Umbraco.Web/Mvc/RenderRouteHandler.cs +++ b/src/Umbraco.Web/Mvc/RenderRouteHandler.cs @@ -4,6 +4,7 @@ using System.Web; using System.Web.Mvc; using System.Web.Routing; using System.Web.SessionState; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Umbraco.Core; using Umbraco.Core.Composing; @@ -47,7 +48,7 @@ namespace Umbraco.Web.Mvc private IUmbracoContext UmbracoContext => _umbracoContext ?? _umbracoContextAccessor.UmbracoContext; - private UmbracoFeatures Features => Current.Factory.GetInstance(); // TODO: inject + private UmbracoFeatures Features => Current.Factory.GetRequiredService(); // TODO: inject #region IRouteHandler Members diff --git a/src/Umbraco.Web/Mvc/RenderViewEngine.cs b/src/Umbraco.Web/Mvc/RenderViewEngine.cs deleted file mode 100644 index 5f508e8d61..0000000000 --- a/src/Umbraco.Web/Mvc/RenderViewEngine.cs +++ /dev/null @@ -1,106 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Web.Mvc; -using Umbraco.Core.Composing; -using Umbraco.Core.Hosting; -using Umbraco.Core.IO; -using Umbraco.Web.Models; - -namespace Umbraco.Web.Mvc -{ - /// - /// A view engine to look into the template location specified in the config for the front-end/Rendering part of the cms, - /// this includes paths to render partial macros and media item templates. - /// - public class RenderViewEngine : RazorViewEngine - { - private readonly IHostingEnvironment _hostingEnvironment; - - private readonly IEnumerable _supplementedViewLocations = new[] { "/{0}.cshtml" }; - //NOTE: we will make the main view location the last to be searched since if it is the first to be searched and there is both a view and a partial - // view in both locations and the main view is rendering a partial view with the same name, we will get a stack overflow exception. - // http://issues.umbraco.org/issue/U4-1287, http://issues.umbraco.org/issue/U4-1215 - private readonly IEnumerable _supplementedPartialViewLocations = new[] { "/Partials/{0}.cshtml", "/MacroPartials/{0}.cshtml", "/{0}.cshtml" }; - - /// - /// Constructor - /// - public RenderViewEngine(IHostingEnvironment hostingEnvironment) - { - _hostingEnvironment = hostingEnvironment ?? throw new ArgumentNullException(nameof(hostingEnvironment)); - - const string templateFolder = Constants.ViewLocation; - - // the Render view engine doesn't support Area's so make those blank - ViewLocationFormats = _supplementedViewLocations.Select(x => templateFolder + x).ToArray(); - PartialViewLocationFormats = _supplementedPartialViewLocations.Select(x => templateFolder + x).ToArray(); - - AreaPartialViewLocationFormats = Array.Empty(); - AreaViewLocationFormats = Array.Empty(); - - EnsureFoldersAndFiles(); - } - - /// - /// Ensures that the correct web.config for razor exists in the /Views folder, the partials folder exist and the ViewStartPage exists. - /// - private void EnsureFoldersAndFiles() - { - var viewFolder = _hostingEnvironment.MapPathContentRoot(Constants.ViewLocation); - - // ensure the web.config file is in the ~/Views folder - Directory.CreateDirectory(viewFolder); - var webConfigPath = Path.Combine(viewFolder, "web.config"); - if (File.Exists(webConfigPath) == false) - { - using (var writer = File.CreateText(webConfigPath)) - { - writer.Write(Strings.WebConfigTemplate); - } - } - - //auto create the partials folder - var partialsFolder = Path.Combine(viewFolder, "Partials"); - Directory.CreateDirectory(partialsFolder); - - // We could create a _ViewStart page if it isn't there as well, but we may not allow editing of this page in the back office. - } - - public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache) - { - return ShouldFindView(controllerContext, false) - ? base.FindView(controllerContext, viewName, masterName, useCache) - : new ViewEngineResult(new string[] { }); - } - - public override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache) - { - return ShouldFindView(controllerContext, true) - ? base.FindPartialView(controllerContext, partialViewName, useCache) - : new ViewEngineResult(new string[] { }); - } - - /// - /// Determines if the view should be found, this is used for view lookup performance and also to ensure - /// less overlap with other user's view engines. This will return true if the Umbraco back office is rendering - /// and its a partial view or if the umbraco front-end is rendering but nothing else. - /// - /// - /// - /// - private static bool ShouldFindView(ControllerContext controllerContext, bool isPartial) - { - var umbracoToken = controllerContext.GetDataTokenInViewContextHierarchy(Core.Constants.Web.UmbracoDataToken); - - // first check if we're rendering a partial view for the back office, or surface controller, etc... - // anything that is not ContentModel as this should only pertain to Umbraco views. - if (isPartial && !(umbracoToken is ContentModel)) - return true; - - // only find views if we're rendering the umbraco front end - return umbracoToken is ContentModel; - } - } -} diff --git a/src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs b/src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs index 7eff581bab..18e1fb8a1a 100644 --- a/src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs +++ b/src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs @@ -3,6 +3,7 @@ using System.Text; using System.Web; using System.Web.Mvc; using System.Web.WebPages; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Core; using Umbraco.Core.Cache; @@ -105,10 +106,10 @@ namespace Umbraco.Web.Mvc protected UmbracoViewPage() : this( - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance>(), - Current.Factory.GetInstance>() + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService>(), + Current.Factory.GetRequiredService>() ) { } @@ -123,102 +124,5 @@ namespace Umbraco.Web.Mvc _contentSettings = contentSettings.Value; } - // view logic below: - - /// - /// Ensure that the current view context is added to the route data tokens so we can extract it if we like - /// - /// - /// Currently this is required by mvc macro engines - /// - protected override void InitializePage() - { - base.InitializePage(); - - if (ViewContext.IsChildAction) return; - - // this is used purely for partial view macros that contain forms and mostly - // just when rendered within the RTE - this should already be set with the - // EnsurePartialViewMacroViewContextFilterAttribute - if (ViewContext.RouteData.DataTokens.ContainsKey(Constants.DataTokenCurrentViewContext) == false) - ViewContext.RouteData.DataTokens.Add(Constants.DataTokenCurrentViewContext, ViewContext); - } - - /// - /// This will detect the end /body tag and insert the preview badge if in preview mode - /// - /// - public override void WriteLiteral(object value) - { - // filter / add preview banner - if (Response.ContentType.InvariantEquals("text/html")) // ASP.NET default value - { - if (Current.UmbracoContext.IsDebug || Current.UmbracoContext.InPreviewMode) - { - var text = value.ToString(); - var pos = text.IndexOf("", StringComparison.InvariantCultureIgnoreCase); - - if (pos > -1) - { - string markupToInject; - - if (Current.UmbracoContext.InPreviewMode) - { - // creating previewBadge markup - markupToInject = - string.Format(_contentSettings.PreviewBadge, - Current.IOHelper.ResolveUrl(_globalSettings.UmbracoPath), - Server.UrlEncode(HttpContext.Current.Request.Url?.PathAndQuery), - Current.UmbracoContext.PublishedRequest.PublishedContent.Id); - } - else - { - // creating mini-profiler markup - markupToInject = Html.RenderProfiler().ToHtmlString(); - } - - var sb = new StringBuilder(text); - sb.Insert(pos, markupToInject); - - base.WriteLiteral(sb.ToString()); - return; - } - } - } - - base.WriteLiteral(value); - } - - public override void Write(object value) - { - if (value is IHtmlEncodedString htmlEncodedString) - { - base.WriteLiteral(htmlEncodedString.ToHtmlString()); - } - else - { - base.Write(value); - } - } - - public HelperResult RenderSection(string name, Func defaultContents) - { - return WebViewPageExtensions.RenderSection(this, name, defaultContents); - } - - public HelperResult RenderSection(string name, HelperResult defaultContents) - { - return WebViewPageExtensions.RenderSection(this, name, defaultContents); - } - - public HelperResult RenderSection(string name, string defaultContents) - { - return WebViewPageExtensions.RenderSection(this, name, defaultContents); - } - - public HelperResult RenderSection(string name, IHtmlString defaultContents) - { - return WebViewPageExtensions.RenderSection(this, name, defaultContents); - } } } diff --git a/src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs b/src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs index 56549073f4..c00eb24cca 100644 --- a/src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs +++ b/src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs @@ -1,6 +1,7 @@ using System.Web; using System.Web.Mvc; using System.Web.Routing; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core.Models.PublishedContent; using Umbraco.Web.Models; using Umbraco.Web.Routing; @@ -12,7 +13,7 @@ namespace Umbraco.Web.Mvc public abstract class UmbracoVirtualNodeRouteHandler : IRouteHandler { // TODO: try lazy property injection? - private IPublishedRouter PublishedRouter => Current.Factory.GetInstance(); + private IPublishedRouter PublishedRouter => Current.Factory.GetRequiredService(); /// /// Returns the UmbracoContext for this route handler diff --git a/src/Umbraco.Web/Mvc/ValidateUmbracoFormRouteStringAttribute.cs b/src/Umbraco.Web/Mvc/ValidateUmbracoFormRouteStringAttribute.cs index 8d929197e1..7ee44a6abc 100644 --- a/src/Umbraco.Web/Mvc/ValidateUmbracoFormRouteStringAttribute.cs +++ b/src/Umbraco.Web/Mvc/ValidateUmbracoFormRouteStringAttribute.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Net; using System.Net.Http; using System.Web.Mvc; @@ -13,7 +14,7 @@ namespace Umbraco.Web.Mvc /// /// /// Applying this attribute/filter to a or SurfaceController Action will ensure that the Action can only be executed - /// when it is routed to from within Umbraco, typically when rendering a form with BegingUmbracoForm. It will mean that the natural MVC route for this Action + /// when it is routed to from within Umbraco, typically when rendering a form with BeginUmbracoForm. It will mean that the natural MVC route for this Action /// will fail with a . /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] @@ -37,7 +38,6 @@ namespace Umbraco.Web.Mvc var ufprt = filterContext.HttpContext.Request["ufprt"]; ValidateRouteString(ufprt, filterContext.ActionDescriptor?.ControllerDescriptor.ControllerName, filterContext.ActionDescriptor?.ActionName, filterContext.RouteData?.DataTokens["area"]?.ToString()); } - public void ValidateRouteString(string ufprt, string currentController, string currentAction, string currentArea) { if (ufprt.IsNullOrWhiteSpace()) diff --git a/src/Umbraco.Web/Mvc/ViewContextExtensions.cs b/src/Umbraco.Web/Mvc/ViewContextExtensions.cs deleted file mode 100644 index 5131f63f9e..0000000000 --- a/src/Umbraco.Web/Mvc/ViewContextExtensions.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System.IO; -using System.Web.Mvc; - -namespace Umbraco.Web.Mvc -{ - internal static class ViewContextExtensions - { - /// - /// Creates a new ViewContext from an existing one but specifies a new Model for the ViewData - /// - /// - /// - /// - public static ViewContext CopyWithModel(this ViewContext vc, object model) - { - return new ViewContext - { - Controller = vc.Controller, - HttpContext = vc.HttpContext, - RequestContext = vc.RequestContext, - RouteData = vc.RouteData, - TempData = vc.TempData, - View = vc.View, - ViewData = new ViewDataDictionary(vc) - { - Model = model - }, - FormContext = vc.FormContext, - ClientValidationEnabled = vc.ClientValidationEnabled, - UnobtrusiveJavaScriptEnabled = vc.UnobtrusiveJavaScriptEnabled, - Writer = vc.Writer - }; - } - - //public static ViewContext CloneWithWriter(this ViewContext vc, TextWriter writer) - //{ - // return new ViewContext - // { - // Controller = vc.Controller, - // HttpContext = vc.HttpContext, - // RequestContext = vc.RequestContext, - // RouteData = vc.RouteData, - // TempData = vc.TempData, - // View = vc.View, - // ViewData = vc.ViewData, - // FormContext = vc.FormContext, - // ClientValidationEnabled = vc.ClientValidationEnabled, - // UnobtrusiveJavaScriptEnabled = vc.UnobtrusiveJavaScriptEnabled, - // Writer = writer - // }; - //} - } -} diff --git a/src/Umbraco.Web/PublishedContentExtensions.cs b/src/Umbraco.Web/PublishedContentExtensions.cs index 487212840b..14ba06610e 100644 --- a/src/Umbraco.Web/PublishedContentExtensions.cs +++ b/src/Umbraco.Web/PublishedContentExtensions.cs @@ -4,6 +4,7 @@ using System.Data; using System.Linq; using System.Web; using Examine; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Models.PublishedContent; @@ -27,9 +28,9 @@ namespace Umbraco.Web private static IPublishedValueFallback PublishedValueFallback => Current.PublishedValueFallback; private static IPublishedSnapshot PublishedSnapshot => Current.PublishedSnapshot; private static IUmbracoContext UmbracoContext => Current.UmbracoContext; - private static ISiteDomainHelper SiteDomainHelper => Current.Factory.GetInstance(); + private static ISiteDomainHelper SiteDomainHelper => Current.Factory.GetRequiredService(); private static IVariationContextAccessor VariationContextAccessor => Current.VariationContextAccessor; - private static IExamineManager ExamineManager => Current.Factory.GetInstance(); + private static IExamineManager ExamineManager => Current.Factory.GetRequiredService(); private static IUserService UserService => Current.Services.UserService; diff --git a/src/Umbraco.Web/Runtime/WebInitialComponent.cs b/src/Umbraco.Web/Runtime/WebInitialComponent.cs index fda645065a..163b692c25 100644 --- a/src/Umbraco.Web/Runtime/WebInitialComponent.cs +++ b/src/Umbraco.Web/Runtime/WebInitialComponent.cs @@ -21,7 +21,6 @@ namespace Umbraco.Web.Runtime public sealed class WebInitialComponent : IComponent { private readonly IUmbracoContextAccessor _umbracoContextAccessor; - private readonly SurfaceControllerTypeCollection _surfaceControllerTypes; private readonly UmbracoApiControllerTypeCollection _apiControllerTypes; private readonly GlobalSettings _globalSettings; private readonly IHostingEnvironment _hostingEnvironment; @@ -29,14 +28,12 @@ namespace Umbraco.Web.Runtime public WebInitialComponent( IUmbracoContextAccessor umbracoContextAccessor, - SurfaceControllerTypeCollection surfaceControllerTypes, UmbracoApiControllerTypeCollection apiControllerTypes, GlobalSettings globalSettings, IHostingEnvironment hostingEnvironment, IShortStringHelper shortStringHelper) { _umbracoContextAccessor = umbracoContextAccessor; - _surfaceControllerTypes = surfaceControllerTypes; _apiControllerTypes = apiControllerTypes; _globalSettings = globalSettings; _hostingEnvironment = hostingEnvironment; @@ -58,7 +55,7 @@ namespace Umbraco.Web.Runtime ConfigureGlobalFilters(); // set routes - CreateRoutes(_umbracoContextAccessor, _globalSettings, _shortStringHelper, _surfaceControllerTypes, _apiControllerTypes, _hostingEnvironment); + CreateRoutes(_umbracoContextAccessor, _globalSettings, _shortStringHelper, _apiControllerTypes, _hostingEnvironment); } public void Terminate() @@ -78,7 +75,7 @@ namespace Umbraco.Web.Runtime viewEngines.Clear(); foreach (var engine in originalEngines) { - var wrappedEngine = engine is ProfilingViewEngine ? engine : new ProfilingViewEngine(engine); + var wrappedEngine = engine;// TODO introduce in NETCORE: is ProfilingViewEngine ? engine : new ProfilingViewEngine(engine); viewEngines.Add(wrappedEngine); } } @@ -86,16 +83,16 @@ namespace Umbraco.Web.Runtime private void SetupMvcAndWebApi() { //don't output the MVC version header (security) - MvcHandler.DisableMvcResponseHeader = true; + //MvcHandler.DisableMvcResponseHeader = true; // set master controller factory // var controllerFactory = new MasterControllerFactory(() => Current.FilteredControllerFactories); // ControllerBuilder.Current.SetControllerFactory(controllerFactory); // set the render & plugin view engines - ViewEngines.Engines.Add(new RenderViewEngine(_hostingEnvironment)); - ViewEngines.Engines.Add(new PluginViewEngine()); - + // ViewEngines.Engines.Add(new RenderViewEngine(_hostingEnvironment)); + // ViewEngines.Engines.Add(new PluginViewEngine()); + ////add the profiling action filter //GlobalFilters.Filters.Add(new ProfilingActionFilter()); @@ -108,7 +105,6 @@ namespace Umbraco.Web.Runtime IUmbracoContextAccessor umbracoContextAccessor, GlobalSettings globalSettings, IShortStringHelper shortStringHelper, - SurfaceControllerTypeCollection surfaceControllerTypes, UmbracoApiControllerTypeCollection apiControllerTypes, IHostingEnvironment hostingEnvironment) { @@ -122,9 +118,6 @@ namespace Umbraco.Web.Runtime ); defaultRoute.RouteHandler = new RenderRouteHandler(umbracoContextAccessor, ControllerBuilder.Current.GetControllerFactory(), shortStringHelper); - // register no content route - RouteNoContentController(umbracoPath); - // register install routes // RouteTable.Routes.RegisterArea(); @@ -132,27 +125,18 @@ namespace Umbraco.Web.Runtime // RouteTable.Routes.RegisterArea(new BackOfficeArea(globalSettings, hostingEnvironment)); // plugin controllers must come first because the next route will catch many things - RoutePluginControllers(globalSettings, surfaceControllerTypes, apiControllerTypes, hostingEnvironment); - } - - private static void RouteNoContentController(string umbracoPath) - { - RouteTable.Routes.MapRoute( - Constants.Web.NoContentRouteName, - umbracoPath + "/UmbNoContent", - new { controller = "RenderNoContent", action = "Index" }); + RoutePluginControllers(globalSettings, apiControllerTypes, hostingEnvironment); } private static void RoutePluginControllers( GlobalSettings globalSettings, - SurfaceControllerTypeCollection surfaceControllerTypes, UmbracoApiControllerTypeCollection apiControllerTypes, IHostingEnvironment hostingEnvironment) { var umbracoPath = globalSettings.GetUmbracoMvcArea(hostingEnvironment); // need to find the plugin controllers and route them - var pluginControllers = surfaceControllerTypes.Concat(apiControllerTypes).ToArray(); + var pluginControllers = apiControllerTypes; //TODO was: surfaceControllerTypes.Concat(apiControllerTypes).ToArray(); // local controllers do not contain the attribute var localControllers = pluginControllers.Where(x => PluginController.GetMetadata(x).AreaName.IsNullOrWhiteSpace()); diff --git a/src/Umbraco.Web/Runtime/WebInitialComposer.cs b/src/Umbraco.Web/Runtime/WebInitialComposer.cs index 8d3b416012..32e7835ffb 100644 --- a/src/Umbraco.Web/Runtime/WebInitialComposer.cs +++ b/src/Umbraco.Web/Runtime/WebInitialComposer.cs @@ -1,6 +1,7 @@ using System.Web.Mvc; using System.Web.Security; using Microsoft.AspNet.SignalR; +using Microsoft.Extensions.DependencyInjection; using Umbraco.Core; using Umbraco.Core.Composing; using Umbraco.Core.Dictionary; @@ -26,44 +27,47 @@ namespace Umbraco.Web.Runtime { base.Compose(composition); - composition.Register(); + composition.Services.AddTransient(); // register membership stuff - composition.Register(factory => MembershipProviderExtensions.GetMembersMembershipProvider()); - composition.Register(factory => Roles.Enabled ? Roles.Provider : new MembersRoleProvider(factory.GetInstance())); - composition.Register(Lifetime.Request); - composition.Register(factory => factory.GetInstance().PublishedSnapshot.Members); - composition.RegisterUnique(); - composition.RegisterUnique(); + composition.Services.AddTransient(factory => MembershipProviderExtensions.GetMembersMembershipProvider()); + composition.Services.AddTransient(factory => Roles.Enabled ? Roles.Provider : new MembersRoleProvider(factory.GetRequiredService())); + composition.Services.AddScoped(); + composition.Services.AddTransient(factory => factory.GetRequiredService().PublishedSnapshot.Members); + composition.Services.AddUnique(); + composition.Services.AddUnique(); // register the umbraco helper - this is Transient! very important! // also, if not level.Run, we cannot really use the helper (during upgrade...) // so inject a "void" helper (not exactly pretty but...) if (composition.RuntimeState.Level == RuntimeLevel.Run) - composition.Register(factory => + composition.Services.AddTransient(factory => { - var umbCtx = factory.GetInstance(); - return new UmbracoHelper(umbCtx.IsFrontEndUmbracoRequest ? umbCtx.PublishedRequest?.PublishedContent : null, factory.GetInstance(), - factory.GetInstance(), factory.GetInstance()); + var umbCtx = factory.GetRequiredService(); + return new UmbracoHelper(umbCtx.IsFrontEndUmbracoRequest ? umbCtx.PublishedRequest?.PublishedContent : null, factory.GetRequiredService(), + factory.GetRequiredService(), factory.GetRequiredService()); }); else - composition.Register(_ => new UmbracoHelper()); + composition.Services.AddTransient(_ => new UmbracoHelper()); - composition.RegisterUnique(); + composition.Services.AddUnique(); // configure the container for web //composition.ConfigureForWeb(); - composition - // TODO: This will depend on if we use ServiceBasedControllerActivator - see notes in Startup.cs - //.ComposeUmbracoControllers(GetType().Assembly) - .SetDefaultRenderMvcController(); // default controller for template views + //composition + /* TODO: This will depend on if we use ServiceBasedControllerActivator - see notes in Startup.cs + * You will likely need to set DefaultRenderMvcControllerType on Umbraco.Web.Composing.Current + * which is what the extension method below did previously. + */ + //.ComposeUmbracoControllers(GetType().Assembly) + //.SetDefaultRenderMvcController(); // default controller for template views //we need to eagerly scan controller types since they will need to be routed - composition.WithCollectionBuilder() - .Add(composition.TypeLoader.GetSurfaceControllers()); + // composition.WithCollectionBuilder() + // .Add(composition.TypeLoader.GetSurfaceControllers()); // auto-register views diff --git a/src/Umbraco.Web/TypeLoaderExtensions.cs b/src/Umbraco.Web/TypeLoaderExtensions.cs index 1cf8bc124c..8dac034fbf 100644 --- a/src/Umbraco.Web/TypeLoaderExtensions.cs +++ b/src/Umbraco.Web/TypeLoaderExtensions.cs @@ -10,6 +10,7 @@ namespace Umbraco.Web /// /// Provides extension methods for the class. /// + // Migrated to .NET Core public static class TypeLoaderExtensions { /// diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 71c16390c2..b54df88855 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -73,13 +73,6 @@ 2.7.0.100 - - - - - 2.0.0 - - @@ -135,7 +128,6 @@ Properties\SolutionInfo.cs - @@ -143,7 +135,6 @@ - @@ -158,14 +149,11 @@ - - - @@ -209,7 +197,6 @@ - @@ -221,7 +208,6 @@ - @@ -233,15 +219,10 @@ - - - - - @@ -289,14 +270,9 @@ - - - - - @@ -310,14 +286,11 @@ - - - @@ -334,7 +307,6 @@ Component - diff --git a/src/Umbraco.Web/UmbracoApplication.cs b/src/Umbraco.Web/UmbracoApplication.cs index 90b2569c67..3218710902 100644 --- a/src/Umbraco.Web/UmbracoApplication.cs +++ b/src/Umbraco.Web/UmbracoApplication.cs @@ -19,7 +19,7 @@ namespace Umbraco.Web /// public class UmbracoApplication : UmbracoApplicationBase { - protected override IRuntime GetRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) + protected override CoreRuntimeBootstrapper GetRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo) { var dbProviderFactoryCreator = new UmbracoDbProviderFactoryCreator(); @@ -44,7 +44,7 @@ namespace Umbraco.Web new IsolatedCaches(type => new DeepCloneAppCache(new ObjectCacheAppCache()))); var umbracoBootPermissionChecker = new AspNetUmbracoBootPermissionChecker(); - return new CoreRuntime(globalSettings, connectionStrings,umbracoVersion, ioHelper, loggerFactory, profiler, umbracoBootPermissionChecker, hostingEnvironment, backOfficeInfo, dbProviderFactoryCreator, mainDom, + return new CoreRuntimeBootstrapper(globalSettings, connectionStrings,umbracoVersion, ioHelper, loggerFactory, profiler, umbracoBootPermissionChecker, hostingEnvironment, backOfficeInfo, dbProviderFactoryCreator, mainDom, GetTypeFinder(hostingEnvironment, logger, profiler), appCaches); } diff --git a/src/Umbraco.Web/UmbracoApplicationBase.cs b/src/Umbraco.Web/UmbracoApplicationBase.cs index baeab5634c..fe10cfba81 100644 --- a/src/Umbraco.Web/UmbracoApplicationBase.cs +++ b/src/Umbraco.Web/UmbracoApplicationBase.cs @@ -7,6 +7,7 @@ using System.Web; using System.Web.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Serilog; @@ -21,6 +22,7 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Logging.Serilog; using Umbraco.Core.Logging.Serilog.Enrichers; +using Umbraco.Core.Runtime; using Umbraco.Net; using Umbraco.Web.Hosting; using Umbraco.Web.Logging; @@ -42,13 +44,12 @@ namespace Umbraco.Web private readonly ConnectionStrings _connectionStrings; private readonly IIOHelper _ioHelper; private IRuntime _runtime; - private IFactory _factory; + private IServiceProvider _factory; private ILoggerFactory _loggerFactory; protected UmbracoApplicationBase() { - if (!Umbraco.Composing.Current.IsInitialized) - { + HostingSettings hostingSettings = null; GlobalSettings globalSettings = null; SecuritySettings securitySettings = null; @@ -62,12 +63,8 @@ namespace Umbraco.Web var backOfficeInfo = new AspNetBackOfficeInfo(globalSettings, ioHelper, _loggerFactory.CreateLogger(), Options.Create(webRoutingSettings)); var profiler = GetWebProfiler(hostingEnvironment); - Umbraco.Composing.Current.Initialize(NullLogger.Instance, - securitySettings, - globalSettings, - ioHelper, hostingEnvironment, backOfficeInfo, profiler); + StaticApplicationLogging.Initialize(_loggerFactory); Logger = NullLogger.Instance; - } } private IProfiler GetWebProfiler(IHostingEnvironment hostingEnvironment) @@ -92,11 +89,8 @@ namespace Umbraco.Web _ioHelper = ioHelper; _loggerFactory = loggerFactory; - if (!Umbraco.Composing.Current.IsInitialized) - { - Logger = logger; - Umbraco.Composing.Current.Initialize(logger, securitySettings, globalSettings, ioHelper, hostingEnvironment, backOfficeInfo, profiler); - } + Logger = logger; + StaticApplicationLogging.Initialize(_loggerFactory); } protected ILogger Logger { get; } @@ -138,14 +132,14 @@ namespace Umbraco.Web /// /// Gets a runtime. /// - protected abstract IRuntime GetRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo); + protected abstract CoreRuntimeBootstrapper GetRuntime(GlobalSettings globalSettings, ConnectionStrings connectionStrings, IUmbracoVersion umbracoVersion, IIOHelper ioHelper, ILogger logger, ILoggerFactory loggerFactory, IProfiler profiler, IHostingEnvironment hostingEnvironment, IBackOfficeInfo backOfficeInfo); /// /// Gets the application register. /// - protected virtual IRegister GetRegister(GlobalSettings globalSettings) + protected virtual IServiceCollection GetRegister(GlobalSettings globalSettings) { - return RegisterFactory.Create(globalSettings); + return new ServiceCollection(); } // events - in the order they trigger @@ -183,23 +177,26 @@ namespace Umbraco.Web // create the register for the application, and boot // the boot manager is responsible for registrations var register = GetRegister(globalSettings); - _runtime = GetRuntime( + var boostrapper = GetRuntime( _globalSettings, _connectionStrings, umbracoVersion, _ioHelper, _logger, _loggerFactory, - Umbraco.Composing.Current.Profiler, - Umbraco.Composing.Current.HostingEnvironment, - Umbraco.Composing.Current.BackOfficeInfo); - _factory = Current.Factory = _runtime.Configure(register); + null, // TODO get from somewhere that isn't Current. + null, // TODO get from somewhere that isn't Current. + null // TODO get from somewhere that isn't Current. + ); + //_factory = Current.Factory = _runtime.Configure(register); + // now we can add our request based logging enrichers (globally, which is what we were doing in netframework before) - LogContext.Push(new HttpSessionIdEnricher(_factory.GetInstance())); - LogContext.Push(new HttpRequestNumberEnricher(_factory.GetInstance())); - LogContext.Push(new HttpRequestIdEnricher(_factory.GetInstance())); + LogContext.Push(new HttpSessionIdEnricher(_factory.GetRequiredService())); + LogContext.Push(new HttpRequestNumberEnricher(_factory.GetRequiredService())); + LogContext.Push(new HttpRequestIdEnricher(_factory.GetRequiredService())); + _runtime = _factory.GetRequiredService(); _runtime.Start(); } @@ -283,8 +280,6 @@ namespace Umbraco.Web } Current.Logger.DisposeIfDisposable(); - // dispose the container and everything - Current.Reset(); } // called by ASP.NET (auto event wireup) once per app domain diff --git a/src/Umbraco.Web/UmbracoDefaultOwinStartup.cs b/src/Umbraco.Web/UmbracoDefaultOwinStartup.cs index bedea5a983..58fb36e13b 100644 --- a/src/Umbraco.Web/UmbracoDefaultOwinStartup.cs +++ b/src/Umbraco.Web/UmbracoDefaultOwinStartup.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Owin; using Owin; @@ -29,9 +30,9 @@ namespace Umbraco.Web public class UmbracoDefaultOwinStartup { protected IUmbracoContextAccessor UmbracoContextAccessor => Current.UmbracoContextAccessor; - protected GlobalSettings GlobalSettings => Current.Factory.GetInstance(); - protected SecuritySettings SecuritySettings => Current.Factory.GetInstance>().Value; - protected IUserPasswordConfiguration UserPasswordConfig => Current.Factory.GetInstance(); + protected GlobalSettings GlobalSettings => Current.Factory.GetRequiredService(); + protected SecuritySettings SecuritySettings => Current.Factory.GetRequiredService>().Value; + protected IUserPasswordConfiguration UserPasswordConfig => Current.Factory.GetRequiredService(); protected IRuntimeState RuntimeState => Current.RuntimeState; protected ServiceContext Services => Current.Services; protected UmbracoMapper Mapper => Current.Mapper; diff --git a/src/Umbraco.Web/UmbracoHelper.cs b/src/Umbraco.Web/UmbracoHelper.cs index d81bb61251..3ca0a58c00 100644 --- a/src/Umbraco.Web/UmbracoHelper.cs +++ b/src/Umbraco.Web/UmbracoHelper.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Web; using System.Xml.XPath; -using Umbraco.Composing; using Umbraco.Core; using Umbraco.Core.Dictionary; using Umbraco.Core.Models.PublishedContent; @@ -447,6 +446,8 @@ namespace Umbraco.Web #endregion + + //Migrated to EncryptionHelper internal static bool DecryptAndValidateEncryptedRouteString(string ufprt, out IDictionary parts) { string decryptedString; @@ -456,7 +457,7 @@ namespace Umbraco.Web } catch (Exception ex) when (ex is FormatException || ex is ArgumentException) { - Current.Logger.LogWarning("A value was detected in the ufprt parameter but Umbraco could not decrypt the string"); + StaticApplicationLogging.Logger.LogWarning("A value was detected in the ufprt parameter but Umbraco could not decrypt the string"); parts = null; return false; } diff --git a/src/Umbraco.Web/UrlHelperRenderExtensions.cs b/src/Umbraco.Web/UrlHelperRenderExtensions.cs index ba6a0540f0..dfa2632ea0 100644 --- a/src/Umbraco.Web/UrlHelperRenderExtensions.cs +++ b/src/Umbraco.Web/UrlHelperRenderExtensions.cs @@ -312,76 +312,81 @@ namespace Umbraco.Web return result; } - /// - /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController - /// - /// - /// - /// - /// - public static string SurfaceAction(this UrlHelper url, string action, Type surfaceType) - { - return url.SurfaceAction(action, surfaceType, null); - } + //TODO Move to LinkGenerator + // /// + // /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController + // /// + // /// + // /// + // /// + // /// + // public static string SurfaceAction(this UrlHelper url, string action, Type surfaceType) + // { + // return url.SurfaceAction(action, surfaceType, null); + // } - /// - /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController - /// - /// - /// - /// - /// - /// - public static string SurfaceAction(this UrlHelper url, string action, Type surfaceType, object additionalRouteVals) - { - if (action == null) throw new ArgumentNullException(nameof(action)); - if (string.IsNullOrEmpty(action)) throw new ArgumentException("Value can't be empty.", nameof(action)); - if (surfaceType == null) throw new ArgumentNullException(nameof(surfaceType)); + //TODO Move to LinkGenerator + // /// + // /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController + // /// + // /// + // /// + // /// + // /// + // /// + // public static string SurfaceAction(this UrlHelper url, string action, Type surfaceType, object additionalRouteVals) + // { + // if (action == null) throw new ArgumentNullException(nameof(action)); + // if (string.IsNullOrEmpty(action)) throw new ArgumentException("Value can't be empty.", nameof(action)); + // if (surfaceType == null) throw new ArgumentNullException(nameof(surfaceType)); + // + // var area = ""; + // + // + // var surfaceController = Current.SurfaceControllerTypes.SingleOrDefault(x => x == surfaceType); + // if (surfaceController == null) + // throw new InvalidOperationException("Could not find the surface controller of type " + surfaceType.FullName); + // var metaData = PluginController.GetMetadata(surfaceController); + // if (metaData.AreaName.IsNullOrWhiteSpace() == false) + // { + // //set the area to the plugin area + // area = metaData.AreaName; + // } + // + // var encryptedRoute = CreateEncryptedRouteString(metaData.ControllerName, action, area, additionalRouteVals); + // + // var result = Current.UmbracoContext.OriginalRequestUrl.AbsolutePath.EnsureEndsWith('?') + "ufprt=" + encryptedRoute; + // return result; + // } - var area = ""; + // /// + // /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController + // /// + // /// + // /// + // /// + // /// + // //TODO Move to LinkGenerator + // public static string SurfaceAction(this UrlHelper url, string action) + // where T : SurfaceController + // { + // return url.SurfaceAction(action, typeof (T)); + // } - var surfaceController = Current.SurfaceControllerTypes.SingleOrDefault(x => x == surfaceType); - if (surfaceController == null) - throw new InvalidOperationException("Could not find the surface controller of type " + surfaceType.FullName); - var metaData = PluginController.GetMetadata(surfaceController); - if (metaData.AreaName.IsNullOrWhiteSpace() == false) - { - //set the area to the plugin area - area = metaData.AreaName; - } - - var encryptedRoute = CreateEncryptedRouteString(metaData.ControllerName, action, area, additionalRouteVals); - - var result = Current.UmbracoContext.OriginalRequestUrl.AbsolutePath.EnsureEndsWith('?') + "ufprt=" + encryptedRoute; - return result; - } - - /// - /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController - /// - /// - /// - /// - /// - public static string SurfaceAction(this UrlHelper url, string action) - where T : SurfaceController - { - return url.SurfaceAction(action, typeof (T)); - } - - /// - /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController - /// - /// - /// - /// - /// - /// - public static string SurfaceAction(this UrlHelper url, string action, object additionalRouteVals) - where T : SurfaceController - { - return url.SurfaceAction(action, typeof (T), additionalRouteVals); - } + // /// + // /// Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController + // /// + // /// + // /// + // /// + // /// + // /// + // //TODO Move to LinkGenerator + // public static string SurfaceAction(this UrlHelper url, string action, object additionalRouteVals) + // where T : SurfaceController + // { + // return url.SurfaceAction(action, typeof (T), additionalRouteVals); + // } /// /// This is used in methods like BeginUmbracoForm and SurfaceAction to generate an encrypted string which gets submitted in a request for which diff --git a/src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs b/src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs index 0cf23a31ca..148e8638eb 100644 --- a/src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs +++ b/src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs @@ -3,6 +3,7 @@ using System.Web.Http.Controllers; using Umbraco.Web.Composing; using Umbraco.Web.Features; using Umbraco.Core; +using Microsoft.Extensions.DependencyInjection; namespace Umbraco.Web.WebApi.Filters { @@ -20,7 +21,7 @@ namespace Umbraco.Web.WebApi.Filters public FeatureAuthorizeAttribute() { // attributes have to use Current.Container - _features = Current.Factory?.TryGetInstance(); + _features = Current.Factory?.GetService(); } protected override bool IsAuthorized(HttpActionContext actionContext) diff --git a/src/Umbraco.Web/WebApi/HttpActionContextExtensions.cs b/src/Umbraco.Web/WebApi/HttpActionContextExtensions.cs index 9b337f57aa..f41dcac6eb 100644 --- a/src/Umbraco.Web/WebApi/HttpActionContextExtensions.cs +++ b/src/Umbraco.Web/WebApi/HttpActionContextExtensions.cs @@ -5,6 +5,7 @@ using System.Net.Http; using System.Threading.Tasks; using System.Web.Http; using System.Web.Http.Controllers; +using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; using Umbraco.Web.Composing; using Umbraco.Core.IO; @@ -60,7 +61,7 @@ namespace Umbraco.Web.WebApi throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } - var ioHelper = Current.Factory.GetInstance(); + var ioHelper = Current.Factory.GetRequiredService(); var root = ioHelper.MapPath(rootVirtualPath); //ensure it exists Directory.CreateDirectory(root); diff --git a/src/Umbraco.Web/WebApi/UmbracoApiControllerBase.cs b/src/Umbraco.Web/WebApi/UmbracoApiControllerBase.cs index 55960538a3..7d9c620a6d 100644 --- a/src/Umbraco.Web/WebApi/UmbracoApiControllerBase.cs +++ b/src/Umbraco.Web/WebApi/UmbracoApiControllerBase.cs @@ -1,6 +1,7 @@ using System; using System.Web; using System.Web.Http; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Owin; using Umbraco.Core; using Umbraco.Core.Cache; @@ -38,15 +39,15 @@ namespace Umbraco.Web.WebApi /// Dependencies are obtained from the service locator. protected UmbracoApiControllerBase() : this( - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance(), - Current.Factory.GetInstance() + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService(), + Current.Factory.GetRequiredService() ) { } diff --git a/src/Umbraco.Web/WebAssets/CDF/ClientDependencyComposer.cs b/src/Umbraco.Web/WebAssets/CDF/ClientDependencyComposer.cs index 3fb7399a2b..bb8c2be059 100644 --- a/src/Umbraco.Web/WebAssets/CDF/ClientDependencyComposer.cs +++ b/src/Umbraco.Web/WebAssets/CDF/ClientDependencyComposer.cs @@ -9,7 +9,7 @@ namespace Umbraco.Web.WebAssets.CDF public override void Compose(Composition composition) { base.Compose(composition); - composition.RegisterUnique(); + composition.Services.AddUnique(); } } } diff --git a/src/Umbraco.Web/WebViewPageExtensions.cs b/src/Umbraco.Web/WebViewPageExtensions.cs deleted file mode 100644 index 51f811061c..0000000000 --- a/src/Umbraco.Web/WebViewPageExtensions.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Web; -using System.Web.Mvc; -using System.Web.WebPages; - -namespace Umbraco.Web -{ - public static class WebViewPageExtensions - { - public static HelperResult RenderSection(this WebPageBase webPage, string name, Func defaultContents) - { - return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : defaultContents(null); - } - - public static HelperResult RenderSection(this WebPageBase webPage, string name, HelperResult defaultContents) - { - return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : defaultContents; - } - - public static HelperResult RenderSection(this WebPageBase webPage, string name, string defaultContents) - { - return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : new HelperResult(text => text.Write(defaultContents)); - } - - public static HelperResult RenderSection(this WebPageBase webPage, string name, IHtmlString defaultContents) - { - return webPage.IsSectionDefined(name) ? webPage.RenderSection(name) : new HelperResult(text => text.Write(defaultContents)); - } - } -}