diff --git a/.nuget/EPiServer.DeveloperTools.2.0.0.nupkg b/.nuget/EPiServer.DeveloperTools.2.0.0.nupkg new file mode 100644 index 0000000..c8d8ef5 Binary files /dev/null and b/.nuget/EPiServer.DeveloperTools.2.0.0.nupkg differ diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe index 4645f4b..c41a0d0 100644 Binary files a/.nuget/NuGet.exe and b/.nuget/NuGet.exe differ diff --git a/.nuget/packages.config b/.nuget/packages.config index 823d29c..6c81016 100644 --- a/.nuget/packages.config +++ b/.nuget/packages.config @@ -1,5 +1,4 @@  - - + \ No newline at end of file diff --git a/.vs/config/applicationhost.config b/.vs/config/applicationhost.config new file mode 100644 index 0000000..4b9bf47 --- /dev/null +++ b/.vs/config/applicationhost.config @@ -0,0 +1,1031 @@ + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DeveloperTools/Controllers/ContentTypeAnalyzerController.cs b/DeveloperTools/Controllers/ContentTypeAnalyzerController.cs index 0ae30dd..43f2214 100644 --- a/DeveloperTools/Controllers/ContentTypeAnalyzerController.cs +++ b/DeveloperTools/Controllers/ContentTypeAnalyzerController.cs @@ -1,32 +1,14 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; -using EPiServer.Shell.Navigation; -using DeveloperTools.Models; -using EPiServer.Framework.Initialization; -using StructureMap; -using EPiServer.ServiceLocation; +using System.Web.Mvc; using EPiServer.DataAbstraction; -using EPiServer.DataAbstraction.RuntimeModel; -using EPiServer.Core; -using EPiServer.Security; -using System.Reflection; -using System.Runtime.Serialization; -using System.Runtime.Serialization.Formatters.Binary; -using System.IO; +using EPiServer.ServiceLocation; namespace DeveloperTools.Controllers { - public class ContentTypeAnalyzerController : DeveloperToolsController { - public ActionResult Index() { return View(ServiceLocator.Current.GetInstance().List()); } - } } diff --git a/DeveloperTools/Controllers/DeveloperToolsController.cs b/DeveloperTools/Controllers/DeveloperToolsController.cs index ec400ac..2577090 100644 --- a/DeveloperTools/Controllers/DeveloperToolsController.cs +++ b/DeveloperTools/Controllers/DeveloperToolsController.cs @@ -1,9 +1,6 @@ -using EPiServer.Security; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; +using System; using System.Web.Mvc; +using EPiServer.Security; namespace DeveloperTools.Controllers { @@ -15,6 +12,7 @@ protected override void OnAuthorization(AuthorizationContext filterContext) { throw new UnauthorizedAccessException(); } + base.OnAuthorization(filterContext); } } diff --git a/DeveloperTools/Controllers/IOCController.cs b/DeveloperTools/Controllers/IOCController.cs index 3fbf9dc..e6c20ef 100644 --- a/DeveloperTools/Controllers/IOCController.cs +++ b/DeveloperTools/Controllers/IOCController.cs @@ -1,52 +1,49 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Web; +using System.Reflection; using System.Web.Mvc; -using EPiServer.Shell.Navigation; using DeveloperTools.Models; using EPiServer.Framework.Initialization; using StructureMap; namespace DeveloperTools.Controllers { - public class IOCController : DeveloperToolsController { public ActionResult Index() { + var ie = (InitializationEngine) typeof(InitializationModule).GetField("_engine", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null); + var container = (IContainer) ie.GetType().GetProperty("Container", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(ie, new object[0]); - var ie = ((InitializationEngine)typeof(EPiServer.Framework.Initialization.InitializationModule).GetField("_engine", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static).GetValue(null)); - IContainer container = (IContainer)ie.GetType().GetProperty("Container", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(ie, new object[0]); - - List iocEntries = new List(); - List typeErrors = new List(); + var iocEntries = new List(); + var typeErrors = new List(); foreach (var plugin in container.Model.PluginTypes) { try { - Type defaultType = plugin.Default != null ? plugin.Default.ReturnedType : null; - if (plugin.Default != null && defaultType == null) + var defaultType = plugin.Default?.ReturnedType; + if(plugin.Default != null && defaultType == null) { defaultType = container.GetInstance(plugin.Default.PluginType, plugin.Default.Name).GetType(); } foreach (var entry in plugin.Instances.Where(i => i != null)) { - Type concreteType = entry.ReturnedType; - if (concreteType == null && entry.PluginType.ContainsGenericParameters == false) + var concreteType = entry.ReturnedType; + if(concreteType == null && entry.PluginType.ContainsGenericParameters == false) { concreteType = container.GetInstance(entry.PluginType, entry.Name).GetType(); } - iocEntries.Add(new IOCEntry() - { - PluginType = entry.PluginType == null ? "null" : entry.PluginType.FullName + "," + entry.PluginType.Assembly.FullName, - ConcreteType = concreteType == null ? "null" : concreteType.FullName + "," + concreteType.Assembly.FullName, - Scope = plugin.Lifecycle.ToString(), - IsDefault = defaultType == concreteType - }); + iocEntries.Add(new IOCEntry + { + PluginType = entry.PluginType == null ? "null" : $"{entry.PluginType.FullName},{entry.PluginType.Assembly.FullName}", + ConcreteType = concreteType == null ? "null" : $"{concreteType.FullName},{concreteType.Assembly.FullName}", + Scope = plugin.Lifecycle.ToString(), + IsDefault = defaultType == concreteType + }); } } catch (Exception ex) @@ -55,7 +52,7 @@ public ActionResult Index() } } - var model = new IOCModel() { IOCEntries = iocEntries, LoadingErrors = typeErrors }; + var model = new IOCModel { IOCEntries = iocEntries, LoadingErrors = typeErrors }; return View(model); } diff --git a/DeveloperTools/Controllers/LoadedAssembliesController.cs b/DeveloperTools/Controllers/LoadedAssembliesController.cs index cfa1170..afd935d 100644 --- a/DeveloperTools/Controllers/LoadedAssembliesController.cs +++ b/DeveloperTools/Controllers/LoadedAssembliesController.cs @@ -1,14 +1,10 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; -using System.Web; +using System.Reflection; using System.Web.Mvc; -using EPiServer.Shell.Navigation; using DeveloperTools.Models; -using EPiServer.Framework.Initialization; -using StructureMap; -using System.Reflection; -using System.Diagnostics; namespace DeveloperTools.Controllers { @@ -20,36 +16,36 @@ public ActionResult Index() foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) { string fileVersion = null; - string location = assembly.IsDynamic ? "dynamic" : String.IsNullOrEmpty(assembly.Location) ? new Uri(assembly.CodeBase).LocalPath : assembly.Location; + var location = assembly.IsDynamic ? "dynamic" : string.IsNullOrEmpty(assembly.Location) ? new Uri(assembly.CodeBase).LocalPath : assembly.Location; - if (!assembly.IsDynamic) + if(!assembly.IsDynamic) { - AssemblyFileVersionAttribute fileVersionAttribute = (AssemblyFileVersionAttribute)assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).FirstOrDefault(); - if (fileVersionAttribute != null) + var fileVersionAttribute = (AssemblyFileVersionAttribute) assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).FirstOrDefault(); + if(fileVersionAttribute != null) { fileVersion = fileVersionAttribute.Version; } - if (fileVersion == null) + if(fileVersion == null) { - FileVersionInfo versionInfo = assembly.IsDynamic ? null : FileVersionInfo.GetVersionInfo(location); - if (versionInfo != null) + var versionInfo = assembly.IsDynamic ? null : FileVersionInfo.GetVersionInfo(location); + if(versionInfo != null) { fileVersion = versionInfo.FileVersion; } } } - assemblies.Add(new AssemblyInfo() - { - Name = assembly.FullName, - AssemblyVersion = assembly.GetName().Version.ToString(), - FileVersion = fileVersion ?? assembly.GetName().Version.ToString(), - Location = assembly.IsDynamic ? "dynamic" : location - }); + assemblies.Add(new AssemblyInfo + { + Name = assembly.FullName, + AssemblyVersion = assembly.GetName().Version.ToString(), + FileVersion = fileVersion ?? assembly.GetName().Version.ToString(), + Location = assembly.IsDynamic ? "dynamic" : location + }); } - return View(new AssembliesModel() { Assemblies = assemblies }); + return View(new AssembliesModel { Assemblies = assemblies }); } } } diff --git a/DeveloperTools/Controllers/LogViewerController.cs b/DeveloperTools/Controllers/LogViewerController.cs index d33cb71..3b4ec3d 100644 --- a/DeveloperTools/Controllers/LogViewerController.cs +++ b/DeveloperTools/Controllers/LogViewerController.cs @@ -1,24 +1,19 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Web; using System.Web.Mvc; -using EPiServer.Shell.Gadgets; -using log4net.Appender; -using log4net.Repository.Hierarchy; +using DeveloperTools.Core; +using DeveloperTools.Models; using log4net; using log4net.Core; -using System.Collections.Specialized; -using EPiServer.Shell.Navigation; -using DeveloperTools.Models; -using DeveloperTools.Core; +using log4net.Repository.Hierarchy; namespace DeveloperTools.Controllers { public class LogViewerController : DeveloperToolsController { - private RollingMemoryAppender _memoryAppender = null; - private Hierarchy _hierarchy = (Hierarchy)LogManager.GetRepository(); + private readonly Hierarchy _hierarchy = (Hierarchy) LogManager.GetRepository(); + private RollingMemoryAppender _memoryAppender; public LogViewerController() { @@ -28,9 +23,11 @@ public LogViewerController() [HttpGet] public ActionResult Index() { - LogSettingAndEvents logSettingAndEvents = new LogSettingAndEvents(); - logSettingAndEvents.IsStarted = _memoryAppender != null ? _memoryAppender.IsStarted : false; - logSettingAndEvents.LoggingEvents = _memoryAppender == null ? Enumerable.Empty() : _memoryAppender.GetEvents(); + var logSettingAndEvents = new LogSettingAndEvents + { + IsStarted = _memoryAppender?.IsStarted ?? false, + LoggingEvents = _memoryAppender == null ? Enumerable.Empty() : _memoryAppender.GetEvents() + }; return View("Show", logSettingAndEvents); } @@ -38,47 +35,45 @@ public ActionResult Index() [HttpPost, ActionName("Index")] public ActionResult Filter(LoggerSettings loggerSetting) { - LogSettingAndEvents logSettingAndEvents = new LogSettingAndEvents(); - logSettingAndEvents.IsStarted = _memoryAppender != null ? _memoryAppender.IsStarted : false; - logSettingAndEvents.LoggingEvents = GetFilteredEvents(loggerSetting); - logSettingAndEvents.LoggerSetting = loggerSetting; + var logSettingAndEvents = new LogSettingAndEvents + { + IsStarted = _memoryAppender?.IsStarted ?? false, + LoggingEvents = GetFilteredEvents(loggerSetting), + LoggerSetting = loggerSetting + }; + return View("Show", logSettingAndEvents); } public ActionResult Start() { - if (_memoryAppender == null) - { + if(_memoryAppender == null) CreateDefaultMemoryAppender(); - } - if (_memoryAppender != null) - { + + if(_memoryAppender != null) _memoryAppender.IsStarted = true; - } + return RedirectToAction("Index"); } public ActionResult Stop() { - if (_memoryAppender != null) - { + if(_memoryAppender != null) _memoryAppender.IsStarted = false; - } + return RedirectToAction("Index"); } - private void InitMessageLogger() { - AppenderCollection appenderCollection; - appenderCollection = ((Logger)_hierarchy.Root).Appenders; + var appenderCollection = _hierarchy.Root.Appenders; - foreach (IAppender item in appenderCollection) + foreach (var item in appenderCollection) { var ma = item as RollingMemoryAppender; - if (ma != null) + if(ma != null) { - _memoryAppender = (RollingMemoryAppender)item; + _memoryAppender = (RollingMemoryAppender) item; _memoryAppender.ActivateOptions(); return; } @@ -87,41 +82,44 @@ private void InitMessageLogger() private void CreateDefaultMemoryAppender() { - _memoryAppender = new RollingMemoryAppender(); - _memoryAppender.Name = "DeveloperToolsLogViewer"; + _memoryAppender = new RollingMemoryAppender { Name = "DeveloperToolsLogViewer" }; _memoryAppender.ActivateOptions(); - log4net.Repository.Hierarchy.Hierarchy repository = LogManager.GetRepository() as Hierarchy; - repository.Root.AddAppender(_memoryAppender); - repository.Root.Level = Level.All; - repository.Configured = true; - repository.RaiseConfigurationChanged(EventArgs.Empty); + var repository = LogManager.GetRepository() as Hierarchy; + + if(repository != null) + { + repository.Root.AddAppender(_memoryAppender); + repository.Root.Level = Level.All; + repository.Configured = true; + repository.RaiseConfigurationChanged(EventArgs.Empty); + } } private IEnumerable GetFilteredEvents(LoggerSettings loggerSetting) { - if (_memoryAppender == null) + if(_memoryAppender == null) { return Enumerable.Empty(); } IEnumerable res = _memoryAppender.GetEvents().Distinct().Where(l => l.Level >= loggerSetting.Level).OrderBy(l => l.TimeStamp); - if (res.Count() > 0 && !String.IsNullOrEmpty(loggerSetting.LoggerName)) + if(res.Any() && !string.IsNullOrEmpty(loggerSetting.LoggerName)) { - res = res.Where(l => l.LoggerName.Contains(loggerSetting.LoggerName)); + res = res.Where(l => l.LoggerName.Contains(loggerSetting.LoggerName)); } - if (res.Count() > 0 && !String.IsNullOrEmpty(loggerSetting.ThreadName)) + if(res.Any() && !string.IsNullOrEmpty(loggerSetting.ThreadName)) { res = res.Where(l => l.ThreadName == loggerSetting.ThreadName); } - if (res.Count() > 0 && !String.IsNullOrEmpty(loggerSetting.UserName)) + if(res.Any() && !string.IsNullOrEmpty(loggerSetting.UserName)) { res = res.Where(l => l.UserName == loggerSetting.UserName); } - if (res.Count() > 0) + if(res.Any()) { res = res.Where(l => ((l.TimeStamp.Ticks >= loggerSetting.StartDate.Ticks) && (l.TimeStamp.Ticks <= loggerSetting.EndDate.Ticks))); } diff --git a/DeveloperTools/Controllers/MemoryDumpController.cs b/DeveloperTools/Controllers/MemoryDumpController.cs index f8c6fb1..c1f733a 100644 --- a/DeveloperTools/Controllers/MemoryDumpController.cs +++ b/DeveloperTools/Controllers/MemoryDumpController.cs @@ -1,23 +1,28 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; -using EPiServer.Shell.Navigation; -using DeveloperTools.Models; -using EPiServer.Framework.Initialization; -using StructureMap; -using System.IO; using System.Diagnostics; +using System.IO; using System.Runtime.InteropServices; +using System.Web.Mvc; +using DeveloperTools.Models; using EPiServer.Web; namespace DeveloperTools.Controllers { public class NativeMethods { - [DllImport("dbghelp.dll", EntryPoint = "MiniDumpWriteDump", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)] - public static extern bool MiniDumpWriteDump(IntPtr hProcess, uint processId, IntPtr hFile, uint dumpType, ref MiniDumpExceptionInformation expParam, IntPtr userStreamParam, IntPtr callbackParam); + [DllImport("dbghelp.dll", + EntryPoint = "MiniDumpWriteDump", + CallingConvention = CallingConvention.StdCall, + CharSet = CharSet.Unicode, + ExactSpelling = true, + SetLastError = true)] + public static extern bool MiniDumpWriteDump(IntPtr hProcess, + uint processId, + IntPtr hFile, + uint dumpType, + ref MiniDumpExceptionInformation expParam, + IntPtr userStreamParam, + IntPtr callbackParam); [DllImport("kernel32.dll", EntryPoint = "GetCurrentThreadId", ExactSpelling = true)] public static extern uint GetCurrentThreadId(); @@ -31,8 +36,7 @@ public struct MiniDumpExceptionInformation { public uint ThreadId; public IntPtr ExceptionPointers; - [MarshalAs(UnmanagedType.Bool)] - public bool ClientPointers; + [MarshalAs(UnmanagedType.Bool)] public bool ClientPointers; } [Flags] @@ -57,8 +61,8 @@ public enum DumpType : uint MiniDumpWithFullAuxiliaryState = 0x00008000, MiniDumpWithPrivateWriteCopyMemory = 0x00010000, MiniDumpIgnoreInaccessibleMemory = 0x00020000, - MiniDumpValidTypeFlags = 0x0003ffff, - }; + MiniDumpValidTypeFlags = 0x0003ffff + } public sealed class MiniDump { @@ -71,13 +75,12 @@ public static void WriteDump(string fileName, DumpType typeOfdumpType) using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None)) { - - uint processId = (uint)Process.GetCurrentProcess().Id; - IntPtr processHandle = NativeMethods.GetCurrentProcess(); - IntPtr processHandle2 = Process.GetCurrentProcess().Handle; + var processId = (uint) Process.GetCurrentProcess().Id; + var processHandle = NativeMethods.GetCurrentProcess(); + var processHandle2 = Process.GetCurrentProcess().Handle; // Feel free to specify different dump types //uint dumpType = (uint) (DumpType.MiniDumpNormal | DumpType.MiniDumpWithDataSegs); - uint dumpType = (uint)typeOfdumpType; + var dumpType = (uint) typeOfdumpType; NativeMethods.MiniDumpWriteDump(processHandle2, processId, fs.SafeFileHandle.DangerousGetHandle(), @@ -99,21 +102,23 @@ public ActionResult Index() [HttpPost, ActionName("Index")] public ActionResult DumpMemory(MemoryDumpModel memoryDumpModel) { - if (String.IsNullOrEmpty(memoryDumpModel.FilePath)) + if(string.IsNullOrEmpty(memoryDumpModel.FilePath)) { memoryDumpModel.FilePath = VirtualPathUtilityEx.RebasePhysicalPath("[appDataPath]\\Dumps"); } - if (!Directory.Exists(memoryDumpModel.FilePath)) + if(!Directory.Exists(memoryDumpModel.FilePath)) { Directory.CreateDirectory(memoryDumpModel.FilePath); } - string timeforfileName = DateTime.Now.ToString().Replace('/', '_').Replace(':', '_'); - string name = string.Concat(memoryDumpModel.FilePath.LastIndexOf('/')==-1 ? memoryDumpModel.FilePath+'\\':memoryDumpModel.FilePath, Process.GetCurrentProcess().ProcessName + "_" + timeforfileName, ".dmp"); + var timeforfileName = DateTime.Now.ToString().Replace('/', '_').Replace(':', '_'); + var name = string.Concat(memoryDumpModel.FilePath.LastIndexOf('/') == -1 ? memoryDumpModel.FilePath + '\\' : memoryDumpModel.FilePath, + Process.GetCurrentProcess().ProcessName + "_" + timeforfileName, + ".dmp"); MiniDump.WriteDump(name, memoryDumpModel.SelectedDumpType); memoryDumpModel.Name = name; + return View(memoryDumpModel); } - } } diff --git a/DeveloperTools/Controllers/RemoteEventController.cs b/DeveloperTools/Controllers/RemoteEventController.cs index 70ca990..0d81e50 100644 --- a/DeveloperTools/Controllers/RemoteEventController.cs +++ b/DeveloperTools/Controllers/RemoteEventController.cs @@ -1,30 +1,24 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using EPiServer.Shell.Gadgets; +using System.Threading.Tasks; using System.Web.Mvc; -using EPiServer.Framework.Initialization; -using EPiServer.Shell.Web; -using EPiServer.ServiceLocation; -using EPiServer.Events.Remote; -using System.Collections; using DeveloperTools.Models; using EPiServer.Events.Clients; -using EPiServer.Events.Providers; -using System.Threading.Tasks; +using EPiServer.Events.Clients.Internal; +using EPiServer.Events.Providers.Internal; using EPiServer.Licensing.Services; namespace DeveloperTools.Controllers { public class RemoteEventController : DeveloperToolsController { - private static Guid RaiserId = Guid.NewGuid(); + private static readonly Guid RaiserId = Guid.NewGuid(); + private static Dictionary _mappedGuidName; private readonly IEventRegistry _eventRegistry; - private readonly ServerStateService _serverStateService; private readonly EventProviderService _providerService; - private static Dictionary _mappedGuidName; - + private readonly ServerStateService _serverStateService; + public RemoteEventController(IEventRegistry eventRegistry, ServerStateService serverStateService, EventProviderService providerService) { _eventRegistry = eventRegistry; @@ -41,10 +35,10 @@ public ActionResult Index() [HttpPost, ActionName("Index")] public ActionResult SendMessage(SendRemoteEventModel sendRemoteEventModel) { - int i = 0; - if (sendRemoteEventModel.EventId != Guid.Empty) + var i = 0; + if(sendRemoteEventModel.EventId != Guid.Empty) { - Event e = Event.Get(sendRemoteEventModel.EventId); + var e = Event.Get(sendRemoteEventModel.EventId); for (; i < sendRemoteEventModel.NumberOfevents; i++) { Task.Factory.StartNew(() => e.Raise(RaiserId, sendRemoteEventModel.Param)); @@ -55,19 +49,20 @@ public ActionResult SendMessage(SendRemoteEventModel sendRemoteEventModel) { sendRemoteEventModel.NumberOfeventsSent = i; } - RemoteEventsModel model = GetRemoteEventModel(); + var model = GetRemoteEventModel(); model.SendRemoteEventModel = sendRemoteEventModel; + return View("Index", model); } private RemoteEventsModel GetRemoteEventModel() { - List remoteEventModel = new List(); + var remoteEventModel = new List(); long sentEvents = 0; long receivedEvents = 0; foreach (var ev in _eventRegistry.List()) { - var rm = new RemoteEventModel() { Guid = ev.Id.ToString(), Name = GetName(ev.Id), NumberOfReceived = ev.ReceivedCount, NumberOfSent = ev.SentCount }; + var rm = new RemoteEventModel { Guid = ev.Id.ToString(), Name = GetName(ev.Id), NumberOfReceived = ev.ReceivedCount, NumberOfSent = ev.SentCount }; sentEvents += rm.NumberOfSent; receivedEvents += rm.NumberOfReceived; remoteEventModel.Add(rm); @@ -76,10 +71,10 @@ private RemoteEventsModel GetRemoteEventModel() var activeServers = LicensingServices.Instance.GetService().GetActiveServers(); var remoteServers = _serverStateService.CurrentServerState() - .Where(x => x.Active) - .ToArray(); + .Where(x => x.Active) + .ToArray(); - return new RemoteEventsModel() + return new RemoteEventsModel { RemoteEventModel = remoteEventModel, TotalNumberOfReceivedEvent = receivedEvents, @@ -94,8 +89,8 @@ private RemoteEventsModel GetRemoteEventModel() private string GetName(Guid guid) { - String name; - if (_mappedGuidName.TryGetValue(guid, out name)) + string name; + if(_mappedGuidName.TryGetValue(guid, out name)) { return name; } @@ -104,37 +99,39 @@ private string GetName(Guid guid) private void TranslateGuidToName() { - if (_mappedGuidName == null) + if(_mappedGuidName != null) + return; + + _mappedGuidName = new Dictionary { - _mappedGuidName = new Dictionary(); - _mappedGuidName.Add(new Guid("4e755664-8fd9-4906-88ca-476842076f98"), "CacheObjectStore-ObjectStoreCache"); - _mappedGuidName.Add(new Guid("1ee4c0b5-ca95-4bdb-b0d4-e5d9e91189aa"), "CacheEventNotifier-CacheEventNotifier"); - _mappedGuidName.Add(new Guid("c1b94788-2410-4da1-af51-4927abe5da94"), "PermanentLinkMapStore-Change"); - _mappedGuidName.Add(new Guid("414cda81-8720-41f1-bad2-7d6155f419dc"), "PermanentLinkMapStore-Remove"); - _mappedGuidName.Add(new Guid("ff174e9c-e3c4-4072-9e1f-7eaf59c5f54f"), "VirtualRoleReplication-Register"); - _mappedGuidName.Add(new Guid("546bf805-e87a-46d7-95d1-423ed87662bd"), "VirtualRoleReplication-UnRegister"); - _mappedGuidName.Add(new Guid("15fc0951-4510-49ae-9fa3-6cd4762d4101"), "VirtualRoleReplication-Clear"); - _mappedGuidName.Add(new Guid("f67ab721-faa5-4e37-b894-75aaffa7665d"), "VisitorGroupEvents-Saved"); - _mappedGuidName.Add(new Guid("719a93e5-727e-441f-8167-70cca8639803"), "VisitorGroupEvents-Deleted"); - _mappedGuidName.Add(new Guid("eaac6db8-c224-4558-8e07-4454a15f8d71"), "RuntimeCacheEvents-BlockedCache"); - _mappedGuidName.Add(new Guid("69793f9f-c106-4b71-a524-8ed7af051077"), "RuntimeCacheEvents-FlushStoredCache"); - _mappedGuidName.Add(new Guid("d464d910-68ef-402a-98c6-72a2c95dcdba"), "ContentLanguageSettingsHandler-ClearSettings"); - _mappedGuidName.Add(new Guid("0ccfcc21-2e73-4901-a559-a4484d7bd472"), "ContentLanguageSettingsHandler-ClearTreeMap"); - _mappedGuidName.Add(new Guid("c6fb4f08-069c-4ee6-8588-4d5cc806b654"), "BroadcastOperations-Workflow"); - _mappedGuidName.Add(new Guid("b6f0e39a-93ef-4dee-a728-a49dac5501fa"), "ChangeLogSystem-Start"); - _mappedGuidName.Add(new Guid("a416a5af-6469-48f7-ad9e-c358fe506916"), "ChangeLogSystem-Stop"); - _mappedGuidName.Add(new Guid("55a261f2-9b2a-47dc-87b7-29c4eab895eb"), "ChangeLogSystem-StateChange"); - _mappedGuidName.Add(new Guid("9484e34b-b419-4e59-8fd5-3277668a7fce"), "RemoteCacheSynchronization-RemoveFromCache"); - _mappedGuidName.Add(new Guid("51da5053-6af8-4a10-9bd4-8417e48f38bd"), "ServerStateService-State"); - _mappedGuidName.Add(new Guid("184468e9-9f0d-4460-aecd-3c08f652c73c"), "ScheduledJob-StopJob"); + { new Guid("4e755664-8fd9-4906-88ca-476842076f98"), "CacheObjectStore-ObjectStoreCache" }, + { new Guid("1ee4c0b5-ca95-4bdb-b0d4-e5d9e91189aa"), "CacheEventNotifier-CacheEventNotifier" }, + { new Guid("c1b94788-2410-4da1-af51-4927abe5da94"), "PermanentLinkMapStore-Change" }, + { new Guid("414cda81-8720-41f1-bad2-7d6155f419dc"), "PermanentLinkMapStore-Remove" }, + { new Guid("ff174e9c-e3c4-4072-9e1f-7eaf59c5f54f"), "VirtualRoleReplication-Register" }, + { new Guid("546bf805-e87a-46d7-95d1-423ed87662bd"), "VirtualRoleReplication-UnRegister" }, + { new Guid("15fc0951-4510-49ae-9fa3-6cd4762d4101"), "VirtualRoleReplication-Clear" }, + { new Guid("f67ab721-faa5-4e37-b894-75aaffa7665d"), "VisitorGroupEvents-Saved" }, + { new Guid("719a93e5-727e-441f-8167-70cca8639803"), "VisitorGroupEvents-Deleted" }, + { new Guid("eaac6db8-c224-4558-8e07-4454a15f8d71"), "RuntimeCacheEvents-BlockedCache" }, + { new Guid("69793f9f-c106-4b71-a524-8ed7af051077"), "RuntimeCacheEvents-FlushStoredCache" }, + { new Guid("d464d910-68ef-402a-98c6-72a2c95dcdba"), "ContentLanguageSettingsHandler-ClearSettings" }, + { new Guid("0ccfcc21-2e73-4901-a559-a4484d7bd472"), "ContentLanguageSettingsHandler-ClearTreeMap" }, + { new Guid("c6fb4f08-069c-4ee6-8588-4d5cc806b654"), "BroadcastOperations-Workflow" }, + { new Guid("b6f0e39a-93ef-4dee-a728-a49dac5501fa"), "ChangeLogSystem-Start" }, + { new Guid("a416a5af-6469-48f7-ad9e-c358fe506916"), "ChangeLogSystem-Stop" }, + { new Guid("55a261f2-9b2a-47dc-87b7-29c4eab895eb"), "ChangeLogSystem-StateChange" }, + { new Guid("9484e34b-b419-4e59-8fd5-3277668a7fce"), "RemoteCacheSynchronization-RemoveFromCache" }, + { new Guid("51da5053-6af8-4a10-9bd4-8417e48f38bd"), "ServerStateService-State" }, + { new Guid("184468e9-9f0d-4460-aecd-3c08f652c73c"), "ScheduledJob-StopJob" }, + { new Guid("CCDF4F50-8216-4919-B8C1-21D9F1932BAF"), "MetaDataEventManager-MetaDataUpdated" }, + { new Guid("8B448BC6-F7E1-4833-BDC7-CA338B77ADFA"), "ProductEventManager-CommerceProductUpdated" }, + { new Guid("B10915E6-0C84-4a6a-8707-FF6F357A1099"), "BlogModule-BlogReplication" }, + { new Guid("F6F0147E-F60F-4801-8647-66270D10AFB9"), "ForumModule-ForumReplication" }, + { new Guid("F6742777-6F38-46a1-AA38-9985715089A2"), "ImageGalleryModule-ImageGalleryReplication" }, + { new Guid("F160271E-7972-447a-81D0-152A35FD77BD"), "OnlineStatusModule-OnlineStatusReplication" } + }; - _mappedGuidName.Add(new Guid("CCDF4F50-8216-4919-B8C1-21D9F1932BAF"), "MetaDataEventManager-MetaDataUpdated"); - _mappedGuidName.Add(new Guid("8B448BC6-F7E1-4833-BDC7-CA338B77ADFA"), "ProductEventManager-CommerceProductUpdated"); - _mappedGuidName.Add(new Guid("B10915E6-0C84-4a6a-8707-FF6F357A1099"), "BlogModule-BlogReplication"); - _mappedGuidName.Add(new Guid("F6F0147E-F60F-4801-8647-66270D10AFB9"), "ForumModule-ForumReplication"); - _mappedGuidName.Add(new Guid("F6742777-6F38-46a1-AA38-9985715089A2"), "ImageGalleryModule-ImageGalleryReplication"); - _mappedGuidName.Add(new Guid("F160271E-7972-447a-81D0-152A35FD77BD"), "OnlineStatusModule-OnlineStatusReplication"); - } } } -} \ No newline at end of file +} diff --git a/DeveloperTools/Controllers/RevertToDefaultController.cs b/DeveloperTools/Controllers/RevertToDefaultController.cs index 6791277..75dd458 100644 --- a/DeveloperTools/Controllers/RevertToDefaultController.cs +++ b/DeveloperTools/Controllers/RevertToDefaultController.cs @@ -1,25 +1,30 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using EPiServer.Shell.Gadgets; using System.Web.Mvc; -using EPiServer.Framework.Initialization; -using EPiServer.Shell.Web; -using EPiServer.ServiceLocation; -using EPiServer; using EPiServer.DataAbstraction; -using EPiServer.DataAbstraction.RuntimeModel; -using EPiServer.Core; -using EPiServer.DataAbstraction.PageTypeAvailability; +using EPiServer.ServiceLocation; namespace DeveloperTools.Controllers { public class RevertToDefaultController : DeveloperToolsController { - static List _SystemContentTypes = new List() { "3fa7d9e7-877b-11d3-827c-00a024cacfcb", "3fa7d9e8-877b-11d3-827c-00a024cacfcb", "52f8d1e9-6d87-4db6-a465-41890289fb78" }; - private IPropertyDefinitionRepository _propertyDefinitionRepository = ServiceLocator.Current.GetInstance(); - private IContentTypeRepository _contentTypeRepository = ServiceLocator.Current.GetInstance(); + static readonly List _SystemContentTypes = new List + { + "3fa7d9e7-877b-11d3-827c-00a024cacfcb", + "3fa7d9e8-877b-11d3-827c-00a024cacfcb", + "52f8d1e9-6d87-4db6-a465-41890289fb78" + }; + + private readonly IContentTypeRepository _contentTypeRepository = ServiceLocator.Current.GetInstance(); + private readonly IPropertyDefinitionRepository _propertyDefinitionRepository = ServiceLocator.Current.GetInstance(); + + protected virtual IEnumerable ContentTypes + { + get { return _contentTypeRepository.List().Where(c => !SystemGuids.Contains(c.GUID.ToString())); } + } + + protected virtual IEnumerable SystemGuids => _SystemContentTypes; public ActionResult Index() { @@ -35,30 +40,15 @@ public ActionResult Index(Guid[] selectedObjects) var ct = contentTypeRepository.Load(id); var writeableContentType = ct.CreateWritableClone() as ContentType; writeableContentType.ResetContentType(); - foreach(var propDef in writeableContentType.PropertyDefinitions) + foreach (var propDef in writeableContentType.PropertyDefinitions) { RevertToDeafultPropertyDefinition(propDef); } contentTypeRepository.Save(writeableContentType); SaveAvailablePageTypes(writeableContentType as PageType); } - return View("Index", ContentTypes); - } - protected virtual IEnumerable ContentTypes - { - get - { - return _contentTypeRepository.List().Where(c => !SystemGuids.Contains(c.GUID.ToString())); - } - } - - protected virtual IEnumerable SystemGuids - { - get - { - return _SystemContentTypes; - } + return View("Index", ContentTypes); } private void RevertToDeafultPropertyDefinition(PropertyDefinition propeDef) @@ -70,15 +60,12 @@ private void RevertToDeafultPropertyDefinition(PropertyDefinition propeDef) private void SaveAvailablePageTypes(ContentType contentType) { var pageType = contentType as PageType; - if (pageType != null) + if(pageType != null) { - IAvailableSettingsRepository availablePageTypeRepository = ServiceLocator.Current.GetInstance(); - AvailableSetting settings = new AvailableSetting(); - settings.Availability = 0; + var availablePageTypeRepository = ServiceLocator.Current.GetInstance(); + var settings = new AvailableSetting { Availability = 0 }; availablePageTypeRepository.RegisterSetting(pageType, settings); } } - } - } diff --git a/DeveloperTools/Controllers/RoutesController.cs b/DeveloperTools/Controllers/RoutesController.cs index 3894c9c..e01dd5a 100644 --- a/DeveloperTools/Controllers/RoutesController.cs +++ b/DeveloperTools/Controllers/RoutesController.cs @@ -1,19 +1,16 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Reflection; using System.Text; -using EPiServer.Shell.Gadgets; +using System.Web; using System.Web.Mvc; -using EPiServer.Framework.Initialization; -using EPiServer.Shell.Web; using System.Web.Routing; using DeveloperTools.Models; -using EPiServer.Web.Routing; -using EPiServer.Web.Routing.Segments; using EPiServer.Shell.Services.Rest; using EPiServer.Shell.Web.Routing; -using System.Web; -using System.IO; +using EPiServer.Web.Routing; +using EPiServer.Web.Routing.Segments; namespace DeveloperTools.Controllers { @@ -26,41 +23,42 @@ public ActionResult Index() } [HttpPost, ActionName("Index")] - public ActionResult FindRoute(String url) + public ActionResult FindRoute(string url) { var routes = GetRouteModels(); - foreach(var r in routes) + foreach (var r in routes) { RouteData rd = null; try { - var ctx = new HttpContextWrapper(new HttpContext (new HttpRequest("", url, ""), new HttpResponse(new StringWriter(new StringBuilder())))); - - if (r.Route is ContentRoute) + var ctx = new HttpContextWrapper(new HttpContext(new HttpRequest("", url, ""), new HttpResponse(new StringWriter(new StringBuilder())))); + + if(r.Route is IContentRoute) { - rd = (r.Route as ContentRoute).GetRouteData(ctx); + rd = ((Route) r.Route).GetRouteData(ctx); } - else if (r.Route is ModuleRouteCollection) + else if(r.Route is ModuleRouteCollection) { - rd = (r.Route as ModuleRouteCollection).GetRouteData(ctx); + rd = ((ModuleRouteCollection) r.Route).GetRouteData(ctx); } - else if (r.Route is RestRoute) + else if(r.Route is RestRoute) { - rd = (r.Route as RestRoute).GetRouteData(ctx); + rd = ((RestRoute) r.Route).GetRouteData(ctx); } - else if (r.Route is Route) + else if(r.Route is Route) { - rd = (r.Route as Route).GetRouteData(ctx); + rd = ((Route) r.Route).GetRouteData(ctx); } else { - rd = (r.Route as RouteBase).GetRouteData(ctx); + rd = r.Route.GetRouteData(ctx); } } catch { } - if (rd != null) + + if(rd != null) { - r.DataTokens = GetValues("DataToken:",rd.DataTokens); + r.DataTokens = GetValues("DataToken:", rd.DataTokens); r.Values = GetValues("Values:", rd.Values); r.IsSelected = true; } @@ -68,81 +66,86 @@ public ActionResult FindRoute(String url) return View("Index", routes); } - private string GetValues(String title, RouteValueDictionary routeValueDictionary) + private string GetValues(string title, RouteValueDictionary routeValueDictionary) { - StringBuilder s = new StringBuilder(); + var s = new StringBuilder(); s.Append(title); - int index = 0; foreach (var rv in routeValueDictionary) { - index++; - s.Append(String.Format("{0}:{1} ,", rv.Key, rv.Value != null ? rv.Value.ToString() : "N/A")); + s.Append($"{rv.Key}:{rv.Value?.ToString() ?? "N/A"} ,"); } return s.ToString(); } private IEnumerable GetRouteModels() { - List model = new List(); - int index = 1; + var model = new List(); + var index = 1; var namedRoutes = GetRouteNamedMap(RouteTable.Routes); foreach (var route in RouteTable.Routes) { - var foundInNamed = namedRoutes.Where(r => r.Value == route).FirstOrDefault(); - if (foundInNamed.Key != null) + var foundInNamed = namedRoutes.FirstOrDefault(r => r.Value == route); + if(foundInNamed.Key != null) { CreateRouteData(model, ref index, foundInNamed.Key, foundInNamed.Value); } - else if (route != null) + else if(route != null) { CreateRouteData(model, ref index, "No Name", route); } } + return model; } - private void CreateRouteData(List model, ref int index, String routeName, RouteBase route) + private void CreateRouteData(List model, ref int index, string routeName, RouteBase route) { - if (route is ModuleRouteCollection) + var collection = route as ModuleRouteCollection; + if(collection != null) { - var m = CreateRouteModelData(routeName, route as ModuleRouteCollection, ref index); + var m = CreateRouteModelData(routeName, collection, ref index); model.AddRange(m); return; } + RouteModel rm; - if (route is ContentRoute) + var rr = route as IContentRoute; + if(rr != null) { - var cr = route as ContentRoute; + var cr = rr; routeName = cr.Name; CreateRouteModelData(routeName, route as Route, index++); } - - if (route is RestRoute) + + if(route is RestRoute) { - rm = CreateRouteModelData(routeName, route as RestRoute, index++); + rm = CreateRouteModelData(routeName, route as RestRoute, index++); } - else if (route is Route) + else if(route is Route) { rm = CreateRouteModelData(routeName, route as Route, index++); } - else + else { - rm = CreateRouteModelData(routeName, route as RouteBase, index++); + rm = CreateRouteModelData(routeName, route, index++); } - + model.Add(rm); } - IEnumerable CreateRouteModelData(String name, ModuleRouteCollection rr, ref int index) + IEnumerable CreateRouteModelData(string name, ModuleRouteCollection rr, ref int index) { - List models = new List(); - RouteModel rm = new RouteModel(); - rm.Order = index.ToString(); - rm.RouteExistingFiles = GetRouteExistingFiles(rr); - rm.Name = name; - rm.Url = rr.RoutePath; - rm.Type = rr.GetType().FullName; - rm.Route = rr; + var models = new List(); + var rm = new RouteModel + { + Order = index.ToString(), + RouteExistingFiles = GetRouteExistingFiles(rr), + Name = name, + Url = rr.RoutePath, + Type = rr.GetType().FullName, + Route = rr + }; + models.Add(rm); index++; foreach (var r in rr) @@ -154,34 +157,37 @@ IEnumerable CreateRouteModelData(String name, ModuleRouteCollection RouteModel CreateModel(RouteBase rb, int index) { - RouteModel rm = new RouteModel(); - rm.Order = index.ToString(); - rm.Type = rb.GetType().FullName; - rm.Route = rb; - rm.RouteExistingFiles = GetRouteExistingFiles(rb); + var rm = new RouteModel + { + Order = index.ToString(), + Type = rb.GetType().FullName, + Route = rb, + RouteExistingFiles = GetRouteExistingFiles(rb) + }; + return rm; } - RouteModel CreateRouteModelData(String name, RouteBase rr, int index) + RouteModel CreateRouteModelData(string name, RouteBase rr, int index) { - RouteModel rm = CreateModel(rr, index); + var rm = CreateModel(rr, index); rm.Name = name; return rm; } - RouteModel CreateRouteModelData(String name, RestRoute rr, int index) + RouteModel CreateRouteModelData(string name, RestRoute rr, int index) { - RouteModel rm = CreateRouteModelData(name, rr as RouteBase, index); + var rm = CreateRouteModelData(name, rr as RouteBase, index); rm.Url = rr.Url; return rm; } - RouteModel CreateRouteModelData(String name, Route rr, int index) + RouteModel CreateRouteModelData(string name, Route rr, int index) { - RouteModel rm = CreateRouteModelData(name, rr as RouteBase, index); - if (rr is ContentRoute) + var rm = CreateRouteModelData(name, rr as RouteBase, index); + if(rr is IContentRoute) { - rm.Url = GetUrl(rr as ContentRoute); + rm.Url = GetUrl(rr as IContentRoute); } else { @@ -197,13 +203,12 @@ RouteModel CreateRouteModelData(String name, Route rr, int index) private string GetRouteValueDictionary(RouteValueDictionary routeValueDictionary) { - - StringBuilder sb = new StringBuilder(); - if (routeValueDictionary != null) + var sb = new StringBuilder(); + if(routeValueDictionary != null) { foreach (var kv in routeValueDictionary) { - sb.Append(String.Format("{0}:{1}", kv.Key, kv.Value)); + sb.Append($"{kv.Key}:{kv.Value}"); } } return sb.ToString(); @@ -213,24 +218,27 @@ private string GetRouteExistingFiles(RouteBase routeBase) { try { - return routeBase.GetType().InvokeMember("_routeExistingFiles", System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, routeBase, null) as string; + return + routeBase.GetType().InvokeMember("_routeExistingFiles", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance, null, routeBase, null) as string; } catch { } - return String.Empty; + + return string.Empty; } private IDictionary GetRouteNamedMap(RouteCollection routeCollection) { - return routeCollection.GetType().InvokeMember("_namedMap", System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, routeCollection, null) as IDictionary; + return + routeCollection.GetType().InvokeMember("_namedMap", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance, null, routeCollection, null) as + IDictionary; } - private static string GetUrl(ContentRoute cr) + private static string GetUrl(IContentRoute cr) { try { - StringBuilder sb = new StringBuilder(); - ISegment[] segemnts = cr.GetType().InvokeMember("_urlSegments", System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, cr, null) as ISegment[]; - return String.Join("/", segemnts.Where(s => !String.IsNullOrEmpty(s.Name)).Select(s => s.Name)); + var segemnts = cr.GetType().InvokeMember("_urlSegments", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance, null, cr, null) as ISegment[]; + return string.Join("/", segemnts.Where(s => !string.IsNullOrEmpty(s.Name)).Select(s => s.Name)); } catch { diff --git a/DeveloperTools/Controllers/TemplatesController.cs b/DeveloperTools/Controllers/TemplatesController.cs index 7275904..9f551bb 100644 --- a/DeveloperTools/Controllers/TemplatesController.cs +++ b/DeveloperTools/Controllers/TemplatesController.cs @@ -1,12 +1,7 @@ -using EPiServer.Core; +using System.Linq; +using System.Web.Mvc; using EPiServer.DataAbstraction; using EPiServer.ServiceLocation; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; namespace DeveloperTools.Controllers { @@ -14,38 +9,37 @@ public class TemplatesController : DeveloperToolsController { public ActionResult Index() { - var templateRepo = ServiceLocator.Current.GetInstance(); + var templateRepo = ServiceLocator.Current.GetInstance(); var modelRepo = ServiceLocator.Current.GetInstance(); var templates = modelRepo.List() - .Where(ct => ct.ModelType != null) - .SelectMany(ct => templateRepo.List(ct.ModelType)) - .GroupBy(t => GetHashCode(t.Name, t.Path, t.TemplateType, t.TemplateTypeCategory)) - .Select(g => g.First()); - + .Where(ct => ct.ModelType != null) + .SelectMany(ct => templateRepo.List(ct.ModelType)) + .GroupBy(t => GetHashCode(t.Name, t.Path, t.TemplateType, t.TemplateTypeCategory)) + .Select(g => g.First()); return View(templates); } private static int GetHashCode(params object[] objects) { - int first = objects.First().GetHashCode(); + var first = objects.First().GetHashCode(); foreach (var o in objects.Skip(1)) { - if (o == null) + if(o == null) { continue; } unchecked { - int hash = 17; + var hash = 17; hash = hash * 31 + first; hash = hash * 31 + o.GetHashCode(); first = hash; } } + return first; } - } } diff --git a/DeveloperTools/Controllers/TimeMetersController.cs b/DeveloperTools/Controllers/TimeMetersController.cs index 57efcfe..080a44d 100644 --- a/DeveloperTools/Controllers/TimeMetersController.cs +++ b/DeveloperTools/Controllers/TimeMetersController.cs @@ -1,11 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using EPiServer.Shell.Gadgets; +using System.Linq; using System.Web.Mvc; using EPiServer.Framework.Initialization; -using EPiServer.Shell.Web; namespace DeveloperTools.Controllers { diff --git a/DeveloperTools/Core/DeveloperMenuProvider.cs b/DeveloperTools/Core/DeveloperMenuProvider.cs index f3c85af..44093e0 100644 --- a/DeveloperTools/Core/DeveloperMenuProvider.cs +++ b/DeveloperTools/Core/DeveloperMenuProvider.cs @@ -1,6 +1,7 @@ -using EPiServer.Shell.Navigation; -using System.Collections.Generic; +using System.Collections.Generic; using EPiServer.Security; +using EPiServer.Shell; +using EPiServer.Shell.Navigation; namespace DeveloperTools.Core { @@ -38,38 +39,40 @@ public class DeveloperMenuProvider : IMenuProvider const string RemoteEventTitle = "Remote Event"; const string RemoteEventPath = "global/DeveloperTools/Remote Event"; - + const string RoutesTitle = "Routes"; const string RoutesPath = "global/DeveloperTools/Routes"; public IEnumerable GetMenuItems() { // Create the top menu section - var developerSection = new SectionMenuItem(GlobalMenuTitle, GlobalMenuLogicalPath); - developerSection.IsAvailable = (request) => PrincipalInfo.HasAdminAccess; - - var timeMeters = CreateUrlMenuItem(TimeMetersTitle, TimeMetersPath, EPiServer.Shell.Paths.ToResource(ModuleName, "TimeMeters")); - var templates = CreateUrlMenuItem(TemplatesTitle, TemplatesPath, EPiServer.Shell.Paths.ToResource(ModuleName, "Templates")); - var ioc = CreateUrlMenuItem(IocTitle, IocPath, EPiServer.Shell.Paths.ToResource(ModuleName, "IOC")); - var loadedAssemblies = CreateUrlMenuItem(LoadedAssembliesTitle, LoadedAssembliesPath, EPiServer.Shell.Paths.ToResource(ModuleName, "LoadedAssemblies")); - var revertToDefault = CreateUrlMenuItem(RevertToDefaultTitle, RevertToDefaultPath, EPiServer.Shell.Paths.ToResource(ModuleName, "RevertToDefault")); - var contentTypeAnalyzer = CreateUrlMenuItem(ContentTypeAnalyzerTitle, ContentTypeAnalyzerPath, EPiServer.Shell.Paths.ToResource(ModuleName, "ContentTypeAnalyzer")); - var logViewer = CreateUrlMenuItem(LogViewerTitle, LogViewerPath, EPiServer.Shell.Paths.ToResource(ModuleName, "LogViewer")); - var memoryDumperViewer = CreateUrlMenuItem(MemoryDumpTitle, MemoryDumpPath, EPiServer.Shell.Paths.ToResource(ModuleName, "MemoryDump")); - var remoteEventViewer = CreateUrlMenuItem(RemoteEventTitle, RemoteEventPath, EPiServer.Shell.Paths.ToResource(ModuleName, "RemoteEvent")); - var routes = CreateUrlMenuItem(RoutesTitle, RoutesPath, EPiServer.Shell.Paths.ToResource(ModuleName, "Routes")); - - return new MenuItem[] { developerSection, timeMeters, ioc, loadedAssemblies, revertToDefault, contentTypeAnalyzer, templates, logViewer, memoryDumperViewer, remoteEventViewer, routes }; + var developerSection = new SectionMenuItem(GlobalMenuTitle, GlobalMenuLogicalPath) + { + IsAvailable = request => PrincipalInfo.HasAdminAccess + }; + + var timeMeters = CreateUrlMenuItem(TimeMetersTitle, TimeMetersPath, Paths.ToResource(ModuleName, "TimeMeters")); + var templates = CreateUrlMenuItem(TemplatesTitle, TemplatesPath, Paths.ToResource(ModuleName, "Templates")); + var ioc = CreateUrlMenuItem(IocTitle, IocPath, Paths.ToResource(ModuleName, "IOC")); + var loadedAssemblies = CreateUrlMenuItem(LoadedAssembliesTitle, LoadedAssembliesPath, Paths.ToResource(ModuleName, "LoadedAssemblies")); + var revertToDefault = CreateUrlMenuItem(RevertToDefaultTitle, RevertToDefaultPath, Paths.ToResource(ModuleName, "RevertToDefault")); + var contentTypeAnalyzer = CreateUrlMenuItem(ContentTypeAnalyzerTitle, ContentTypeAnalyzerPath, Paths.ToResource(ModuleName, "ContentTypeAnalyzer")); + var logViewer = CreateUrlMenuItem(LogViewerTitle, LogViewerPath, Paths.ToResource(ModuleName, "LogViewer")); + var memoryDumperViewer = CreateUrlMenuItem(MemoryDumpTitle, MemoryDumpPath, Paths.ToResource(ModuleName, "MemoryDump")); + var remoteEventViewer = CreateUrlMenuItem(RemoteEventTitle, RemoteEventPath, Paths.ToResource(ModuleName, "RemoteEvent")); + var routes = CreateUrlMenuItem(RoutesTitle, RoutesPath, Paths.ToResource(ModuleName, "Routes")); + + return new MenuItem[] + { developerSection, timeMeters, ioc, loadedAssemblies, revertToDefault, contentTypeAnalyzer, templates, logViewer, memoryDumperViewer, remoteEventViewer, routes }; } protected virtual UrlMenuItem CreateUrlMenuItem(string title, string logicalPath, string resourcePath) { - var menuItem = new UrlMenuItem(title, // Title - logicalPath, // Logical path - resourcePath); - menuItem.IsAvailable = (request) => PrincipalInfo.HasAdminAccess; + var menuItem = new UrlMenuItem(title, logicalPath, resourcePath) + { + IsAvailable = request => PrincipalInfo.HasAdminAccess + }; return menuItem; } - } -} \ No newline at end of file +} diff --git a/DeveloperTools/Core/RollingMemoryAppender.cs b/DeveloperTools/Core/RollingMemoryAppender.cs index 0f414ec..15e36ab 100644 --- a/DeveloperTools/Core/RollingMemoryAppender.cs +++ b/DeveloperTools/Core/RollingMemoryAppender.cs @@ -1,49 +1,33 @@ -using log4net.Appender; -using log4net.Core; -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; +using System.Collections.Concurrent; using System.Linq; -using System.Web; +using log4net.Appender; +using log4net.Core; namespace DeveloperTools.Core { /// - /// Simple appender to avoid filling up memory + /// Simple appender to avoid filling up memory /// public class RollingMemoryAppender : AppenderSkeleton { - ConcurrentQueue _q = new ConcurrentQueue(); - private bool _isStarted = true; - private const int MAX_EVENTS = 10000; + ConcurrentQueue _q = new ConcurrentQueue(); public RollingMemoryAppender() - : base() { _q = new ConcurrentQueue(); } - virtual public LoggingEvent[] GetEvents() - { - return _q.ToArray(); - } + public bool IsStarted { get; set; } = true; - public bool IsStarted + public virtual LoggingEvent[] GetEvents() { - get - { - return _isStarted; - } - set - { - _isStarted = value; - } + return _q.ToArray(); } - override protected void Append(LoggingEvent loggingEvent) + protected override void Append(LoggingEvent loggingEvent) { - if (!_isStarted) + if(!IsStarted) { return; } @@ -51,12 +35,11 @@ override protected void Append(LoggingEvent loggingEvent) loggingEvent.Fix = FixFlags.All; _q.Enqueue(loggingEvent); - if (_q.Count > MAX_EVENTS) + if(_q.Count > MAX_EVENTS) { //Just restart with a few events from the previous queue _q = new ConcurrentQueue(_q.Take(100)); - } } } -} \ No newline at end of file +} diff --git a/DeveloperTools/DeveloperTools.csproj b/DeveloperTools/DeveloperTools.csproj index 8ebcd3c..ec3c4d3 100644 --- a/DeveloperTools/DeveloperTools.csproj +++ b/DeveloperTools/DeveloperTools.csproj @@ -55,66 +55,80 @@ false - - ..\packages\Castle.Core.3.2.1\lib\net40-client\Castle.Core.dll + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll + True + + + ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll + True - - ..\packages\Castle.Windsor.3.2.1\lib\net40\Castle.Windsor.dll + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.dll + True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.ApplicationModules.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.ApplicationModules.dll + + ..\packages\EPiServer.CMS.UI.Core.10.0.2\lib\net45\EPiServer.Cms.Shell.UI.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.Configuration.dll + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.Configuration.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Data.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.Data.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Data.Cache.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.Data.Cache.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.Enterprise.dll + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.Enterprise.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Events.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.Events.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Framework.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.Framework.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.ImageLibrary.dll + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.ImageLibrary.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Licensing.dll + + ..\packages\EPiServer.Framework.10.0.1\lib\net45\EPiServer.Licensing.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.LinkAnalyzer.dll + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.LinkAnalyzer.dll True - - ..\packages\EPiServer.Framework.9.3.0\lib\net45\EPiServer.Shell.dll + + ..\packages\EPiServer.CMS.UI.Core.10.0.2\lib\net45\EPiServer.Shell.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.Web.WebControls.dll + + ..\packages\EPiServer.CMS.UI.Core.10.0.2\lib\net45\EPiServer.Shell.UI.dll True - - ..\packages\EPiServer.CMS.Core.9.3.0\lib\net45\EPiServer.XForms.dll + + ..\packages\EPiServer.CMS.UI.Core.10.0.2\lib\net45\EPiServer.UI.dll + True + + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.Web.WebControls.dll + True + + + ..\packages\EPiServer.CMS.Core.10.0.1\lib\net45\EPiServer.XForms.dll True @@ -201,17 +215,23 @@ - - - - - - - - - - - + + ASPXCodeBehind + + + + ASPXCodeBehind + + + + + ASPXCodeBehind + + + + + + @@ -221,15 +241,10 @@ Designer - - - - - Web.config - - - Web.config - + + + + 10.0 @@ -250,25 +265,7 @@ - - - - - False - True - 52957 - / - - - False - False - - - False - - - - + diff --git a/DeveloperTools/DeveloperTools.nuspec b/DeveloperTools/DeveloperTools.nuspec index 2f13af0..d1ac70c 100644 --- a/DeveloperTools/DeveloperTools.nuspec +++ b/DeveloperTools/DeveloperTools.nuspec @@ -2,7 +2,7 @@ EPiServer.DeveloperTools - 1.1.1 + 2.0.0 EPiServer Developer Tools EPiServer @@ -10,15 +10,11 @@ false Allows to run various support tools on the site. EPiServerModulePackage - - - - - + diff --git a/DeveloperTools/Models/AssembliesModel.cs b/DeveloperTools/Models/AssembliesModel.cs index fb0043d..acd3a75 100644 --- a/DeveloperTools/Models/AssembliesModel.cs +++ b/DeveloperTools/Models/AssembliesModel.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Reflection; +using System.Collections.Generic; namespace DeveloperTools.Models { diff --git a/DeveloperTools/Models/IOCModel.cs b/DeveloperTools/Models/IOCModel.cs index 48f0d16..ef337a7 100644 --- a/DeveloperTools/Models/IOCModel.cs +++ b/DeveloperTools/Models/IOCModel.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Collections.Generic; namespace DeveloperTools.Models { diff --git a/DeveloperTools/Models/LogSettingsAndEvents.cs b/DeveloperTools/Models/LogSettingsAndEvents.cs index 5893396..5d9b62b 100644 --- a/DeveloperTools/Models/LogSettingsAndEvents.cs +++ b/DeveloperTools/Models/LogSettingsAndEvents.cs @@ -1,8 +1,6 @@ -using log4net.Core; -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Web; +using log4net.Core; namespace DeveloperTools.Models { @@ -12,11 +10,10 @@ public LogSettingAndEvents() { LoggingEvents = Enumerable.Empty(); LoggerSetting = new LoggerSettings(); - } + public bool IsStarted { get; set; } public IEnumerable LoggingEvents { get; set; } public LoggerSettings LoggerSetting { get; set; } } - -} \ No newline at end of file +} diff --git a/DeveloperTools/Models/LoggerSettings.cs b/DeveloperTools/Models/LoggerSettings.cs index 2483555..b5ed11c 100644 --- a/DeveloperTools/Models/LoggerSettings.cs +++ b/DeveloperTools/Models/LoggerSettings.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Web; -using log4net.Core; -using System.Web.Mvc; -using System.Globalization; using System.Reflection; +using System.Web.Mvc; +using log4net.Core; namespace DeveloperTools.Models { @@ -13,54 +11,61 @@ namespace DeveloperTools.Models public class LoggerSettings { static List _levels; + public LoggerSettings() { LevelValue = Level.All.ToString(); StartDate = DateTime.MinValue; EndDate = DateTime.MaxValue; } + public Level Level { get { - if (String.IsNullOrEmpty(LevelValue)) + if(string.IsNullOrEmpty(LevelValue)) { return Level.All; } - return (Level)typeof(Level).GetFields(BindingFlags.Static | BindingFlags.Public).Where(p=>String.Equals(p.Name, LevelValue, StringComparison.OrdinalIgnoreCase)).First().GetValue(null); + return + (Level) + typeof(Level) + .GetFields(BindingFlags.Static | BindingFlags.Public) + .First(p => string.Equals(p.Name, LevelValue, StringComparison.OrdinalIgnoreCase)) + .GetValue(null); } } - public String LevelValue { get; set; } - public String LoggerName { get; set; } - public String ThreadName { get; set; } - public String TypeOfException { get; set; } + + public string LevelValue { get; set; } + public string LoggerName { get; set; } + public string ThreadName { get; set; } + public string TypeOfException { get; set; } public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } - public String UserName { get; set; } - + public string UserName { get; set; } public static IEnumerable GetLevels() { - if (_levels == null) - { - _levels = new List(); - _levels.Add(CreateSelectItem(Level.All)); - _levels.Add(CreateSelectItem(Level.Critical)); - _levels.Add(CreateSelectItem(Level.Error)); - _levels.Add(CreateSelectItem(Level.Fatal)); - _levels.Add(CreateSelectItem(Level.Debug)); - _levels.Add(CreateSelectItem(Level.Info)); - _levels.Add(CreateSelectItem(Level.Warn)); - } - return _levels; - + return _levels ?? (_levels = new List + { + CreateSelectItem(Level.All), + CreateSelectItem(Level.Critical), + CreateSelectItem(Level.Error), + CreateSelectItem(Level.Fatal), + CreateSelectItem(Level.Debug), + CreateSelectItem(Level.Info), + CreateSelectItem(Level.Warn) + }); } private static SelectListItem CreateSelectItem(Level level) { - SelectListItem sel = new SelectListItem(); - sel.Text = level.DisplayName; - sel.Value = level.ToString(); + var sel = new SelectListItem + { + Text = level.DisplayName, + Value = level.ToString() + }; + return sel; } } diff --git a/DeveloperTools/Models/MemoryDumpModel.cs b/DeveloperTools/Models/MemoryDumpModel.cs index a0b71cc..f48cb8d 100644 --- a/DeveloperTools/Models/MemoryDumpModel.cs +++ b/DeveloperTools/Models/MemoryDumpModel.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Reflection; -using DeveloperTools.Controllers; using System.Web.Mvc; +using DeveloperTools.Controllers; using EPiServer.Web; namespace DeveloperTools.Models @@ -13,6 +10,7 @@ namespace DeveloperTools.Models public class MemoryDumpModel { private static List _dumptypes; + public MemoryDumpModel() { SelectedDumpValue = Enum.GetName(typeof(DumpType), DumpType.MiniDumpWithFullMemory); @@ -21,47 +19,47 @@ public MemoryDumpModel() public string Name { get; set; } public string FilePath { get; set; } - + public DumpType SelectedDumpType { get { - if (String.IsNullOrEmpty(SelectedDumpValue)) + if(string.IsNullOrEmpty(SelectedDumpValue)) { return DumpType.MiniDumpWithFullMemory; } - DumpType res = DumpType.MiniDumpWithFullMemory; - Enum.TryParse(SelectedDumpValue, true, out res); + + var res = DumpType.MiniDumpWithFullMemory; + Enum.TryParse(SelectedDumpValue, true, out res); return res; } } - public string SelectedDumpValue - { - get; - set; - } + public string SelectedDumpValue { get; set; } + public static IEnumerable GetDumpTypes() { - if (_dumptypes == null) + if(_dumptypes == null) { _dumptypes = new List(); - foreach(var n in Enum.GetNames(typeof(DumpType))) + foreach (var n in Enum.GetNames(typeof(DumpType))) { _dumptypes.Add(CreateSelectItem(n)); } } - return _dumptypes; + return _dumptypes; } - private static SelectListItem CreateSelectItem(String dumpType) + + private static SelectListItem CreateSelectItem(string dumpType) { - SelectListItem sel = new SelectListItem(); - sel.Text = dumpType; - sel.Value = dumpType; + var sel = new SelectListItem + { + Text = dumpType, + Value = dumpType + }; + return sel; } } - - } diff --git a/DeveloperTools/Models/RemoteEventModel.cs b/DeveloperTools/Models/RemoteEventModel.cs index 1b054ca..b05908f 100644 --- a/DeveloperTools/Models/RemoteEventModel.cs +++ b/DeveloperTools/Models/RemoteEventModel.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Reflection; -using System.Collections; -using EPiServer.Events.Clients; +using EPiServer.Events.Clients.Internal; namespace DeveloperTools.Models { @@ -31,8 +28,8 @@ public RemoteEventsModel() [Serializable] public class RemoteEventModel { - public String Name { get; set; } - public String Guid { get; set; } + public string Name { get; set; } + public string Guid { get; set; } public long NumberOfSent { get; set; } public long NumberOfReceived { get; set; } } @@ -44,6 +41,5 @@ public class SendRemoteEventModel public string Param { get; set; } public int NumberOfevents { get; set; } public int NumberOfeventsSent { get; set; } - } } diff --git a/DeveloperTools/Models/RouteModel.cs b/DeveloperTools/Models/RouteModel.cs index 3d1546a..45a255b 100644 --- a/DeveloperTools/Models/RouteModel.cs +++ b/DeveloperTools/Models/RouteModel.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Reflection; -using System.Web.Routing; +using System.Web.Routing; namespace DeveloperTools.Models { @@ -16,11 +11,10 @@ public class RouteModel public string Defaults { get; set; } public string RouteHandler { get; set; } public string DataTokens { get; set; } - public string Values{ get; set; } + public string Values { get; set; } public string Constraints { get; set; } public string RouteExistingFiles { get; set; } - public bool IsSelected{ get; set; } + public bool IsSelected { get; set; } public RouteBase Route { get; set; } } - } diff --git a/DeveloperTools/Properties/AssemblyInfo.cs b/DeveloperTools/Properties/AssemblyInfo.cs index 96dbcb5..d7d9966 100644 --- a/DeveloperTools/Properties/AssemblyInfo.cs +++ b/DeveloperTools/Properties/AssemblyInfo.cs @@ -1,35 +1,16 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. [assembly: AssemblyTitle("DeveloperTools")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("EPiServer")] [assembly: AssemblyProduct("DeveloperTools")] -[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyCopyright("Copyright © 2012-2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("15a30f61-0a54-4a91-b98f-5b30eb22b6f5")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.1.0")] -[assembly: AssemblyFileVersion("1.0.1.0")] +[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyFileVersion("2.0.0.0")] +[assembly: AssemblyInformationalVersion("2.0.0")] diff --git a/DeveloperTools/Views/ContentTypeAnalyzer/Index.aspx b/DeveloperTools/Views/ContentTypeAnalyzer/Index.aspx index df89c05..d25dd91 100644 --- a/DeveloperTools/Views/ContentTypeAnalyzer/Index.aspx +++ b/DeveloperTools/Views/ContentTypeAnalyzer/Index.aspx @@ -11,17 +11,17 @@

Show content type Synchronization status during initialization (if the content type be changed from admin you need to start the site to see changes)

- - + + - - - + + + - - - + + + <% foreach (var m in Model){%> diff --git a/DeveloperTools/Views/IOC/Index.aspx b/DeveloperTools/Views/IOC/Index.aspx index 3edbc0f..b43afac 100644 --- a/DeveloperTools/Views/IOC/Index.aspx +++ b/DeveloperTools/Views/IOC/Index.aspx @@ -16,15 +16,15 @@

Type DisplayNameNameSynchronizationStatusDescriptionNameSynchronizationStatusDescription
Content Type Model
- - + + - - - - - - + + + + + + <% foreach (IOCEntry entry in Model.IOCEntries) { %> diff --git a/DeveloperTools/Views/LoadedAssemblies/Index.aspx b/DeveloperTools/Views/LoadedAssemblies/Index.aspx index cefe948..b53fe5f 100644 --- a/DeveloperTools/Views/LoadedAssemblies/Index.aspx +++ b/DeveloperTools/Views/LoadedAssemblies/Index.aspx @@ -15,15 +15,15 @@

Dumps all loaded assemblies in the current AppDomain

PluginTypeConcreteTypeScopeIs Default
ConcreteTypeScopeIs Default
- - + + - - - - - - + + + + + + <% foreach (AssemblyInfo entry in Model.Assemblies) { %> diff --git a/DeveloperTools/Views/LogViewer/Show.aspx b/DeveloperTools/Views/LogViewer/Show.aspx index 403867c..e05ca17 100644 --- a/DeveloperTools/Views/LogViewer/Show.aspx +++ b/DeveloperTools/Views/LogViewer/Show.aspx @@ -34,16 +34,16 @@ Start/stop in-memory appender: <%= !Model.IsStarted ? Html.ActionLink("
NameAssemblyVersionFileVersionLocation
AssemblyVersionFileVersionLocation
- - + + - - + + - - - - + + + + <% foreach (log4net.Core.LoggingEvent logevent in Model.LoggingEvents){%> <%if (logevent.Level == Level.Error)%> <%Response.Write("");%> @@ -58,7 +58,7 @@ Start/stop in-memory appender: <%= !Model.IsStarted ? Html.ActionLink(" <%} %> - +
DateMessageLoggerNameMessageLoggerName LevelThreadName
ThreadName
<%=logevent.ThreadName.ToString()%>