From dae6e2b8eef700832318449a7e6ebd43a666a6ba Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Tue, 3 Nov 2020 18:55:55 +0100 Subject: [PATCH] Migrated RenderNoContentController + related (#9309) * Migrated RenderNoContentController + related Signed-off-by: Bjarke Berg * Fix after MSDI Signed-off-by: Bjarke Berg * Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> * Removing connection string * Fixed tests after moving endpoint registration Signed-off-by: Bjarke Berg Co-authored-by: Elitsa Marinovska Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> --- .../Configuration/Models/GlobalSettings.cs | 2 +- .../Routing/BackOfficeAreaRoutesTests.cs | 14 ++--- .../Routing/PreviewRoutesTests.cs | 15 ++++-- .../RenderNoContentControllerTests.cs | 17 +++--- src/Umbraco.Tests/Umbraco.Tests.csproj | 1 - .../Routing/BackOfficeAreaRoutes.cs | 1 - .../Routing/PreviewRoutes.cs | 2 + src/Umbraco.Web.UI.NetCore/Startup.cs | 1 + .../Umbraco.Web.UI.NetCore.csproj | 2 +- src/Umbraco.Web.UI.NetCore/appsettings.json | 4 +- .../umbraco/UmbracoWebsite}/NoNodes.cshtml | 4 +- src/Umbraco.Web.UI/Umbraco.Web.UI.csproj | 3 +- .../Controllers}/RenderNoContentController.cs | 16 +++--- .../Extensions/CompositionExtensions.cs | 1 + ...racoWebsiteApplicationBuilderExtensions.cs | 14 +++++ .../Models/NoNodesViewModel.cs | 2 +- .../Routing/NoContentRoutes.cs | 52 +++++++++++++++++++ .../Runtime/WebsiteComposer.cs | 7 +-- .../Runtime/WebInitialComponent.cs | 13 +---- src/Umbraco.Web/Umbraco.Web.csproj | 2 - 20 files changed, 115 insertions(+), 58 deletions(-) rename src/{Umbraco.Tests/Web/Mvc => Umbraco.Tests.UnitTests/Umbraco.Web.Website/Controllers}/RenderNoContentControllerTests.cs (85%) rename src/{Umbraco.Web.UI/config/splashes => Umbraco.Web.UI.NetCore/umbraco/UmbracoWebsite}/NoNodes.cshtml (92%) rename src/{Umbraco.Web/Mvc => Umbraco.Web.Website/Controllers}/RenderNoContentController.cs (74%) rename src/{Umbraco.Web => Umbraco.Web.Website}/Models/NoNodesViewModel.cs (71%) create mode 100644 src/Umbraco.Web.Website/Routing/NoContentRoutes.cs diff --git a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs index 84956c7636..37d0f4a8a2 100644 --- a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs @@ -52,7 +52,7 @@ 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.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/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/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 13e9cbeef1..08b1578d88 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -208,7 +208,6 @@ - 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.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 0d068bbd43..00bd04c0b4 100644 --- a/src/Umbraco.Web.UI.NetCore/appsettings.json +++ b/src/Umbraco.Web.UI.NetCore/appsettings.json @@ -38,8 +38,8 @@ "ConvertUrlsToAscii": "try" }, "RuntimeMinification": { - "dataFolder": "App_Data/TEMP/Smidge", - "version": "1" + "dataFolder": "App_Data/TEMP/Smidge", + "version": "637395756047165417" }, "Security": { "KeepUserLoggedIn": false, 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 1ca65dfd66..4d1e2101bd 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 @@ -351,4 +350,4 @@ - \ No newline at end of file + 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/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/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/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..11204483bd 100644 --- a/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs +++ b/src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs @@ -1,7 +1,8 @@ -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; namespace Umbraco.Web.Website.Runtime { @@ -12,12 +13,12 @@ namespace Umbraco.Web.Website.Runtime { public void Compose(Composition composition) { + composition.Services.AddUnique(); composition .ComposeWebsiteUmbracoControllers() //.SetDefaultRenderMvcController()// default controller for template views ; - } } } diff --git a/src/Umbraco.Web/Runtime/WebInitialComponent.cs b/src/Umbraco.Web/Runtime/WebInitialComponent.cs index d02ccdd01e..780855afc9 100644 --- a/src/Umbraco.Web/Runtime/WebInitialComponent.cs +++ b/src/Umbraco.Web/Runtime/WebInitialComponent.cs @@ -95,7 +95,7 @@ namespace Umbraco.Web.Runtime // set the render & plugin view engines ViewEngines.Engines.Add(new RenderViewEngine(_hostingEnvironment)); ViewEngines.Engines.Add(new PluginViewEngine()); - + ////add the profiling action filter //GlobalFilters.Filters.Add(new ProfilingActionFilter()); @@ -122,9 +122,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(); @@ -135,14 +132,6 @@ namespace Umbraco.Web.Runtime RoutePluginControllers(globalSettings, surfaceControllerTypes, apiControllerTypes, hostingEnvironment); } - private static void RouteNoContentController(string umbracoPath) - { - RouteTable.Routes.MapRoute( - Constants.Web.NoContentRouteName, - umbracoPath + "/UmbNoContent", - new { controller = "RenderNoContent", action = "Index" }); - } - private static void RoutePluginControllers( GlobalSettings globalSettings, SurfaceControllerTypeCollection surfaceControllerTypes, diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index a881e3f704..cd2d326c14 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -151,8 +151,6 @@ - -