Change RenderController defautl type to be swapped out using the .NETCore options pattern

This commit is contained in:
Warren Buckley
2021-07-07 12:52:02 +01:00
parent 87bd67c5fe
commit 8d936c08da
6 changed files with 42 additions and 25 deletions

View File

@@ -1,14 +0,0 @@
using System;
using Umbraco.Cms.Web.Common.Controllers;
namespace Umbraco.Cms.Web.Website.Controllers
{
/// <summary>
/// The defaults used for rendering Umbraco front-end pages
/// </summary>
public class UmbracoRenderingDefaults : IUmbracoRenderingDefaults
{
/// <inheritdoc/>
public Type DefaultControllerType => typeof(RenderController);
}
}

View File

@@ -5,11 +5,11 @@ namespace Umbraco.Cms.Web.Website.Controllers
/// <summary>
/// The defaults used for rendering Umbraco front-end pages
/// </summary>
public interface IUmbracoRenderingDefaults
public class UmbracoRenderingDefaultsOptions
{
/// <summary>
/// Gets the default umbraco render controller type
/// </summary>
Type DefaultControllerType { get; }
public Type DefaultControllerType { get; set; }
}
}

View File

@@ -0,0 +1,28 @@
using System;
using Microsoft.Extensions.Options;
using Umbraco.Cms.Web.Common.Controllers;
namespace Umbraco.Cms.Web.Website.Controllers
{
public class UmbracoRenderingDefaultsOptionsSetup : IConfigureOptions<UmbracoRenderingDefaultsOptions>
{
//private IOptions<UmbracoRenderingDefaultsOptions> _umbracoRenderingDefaultOptions;
//public UmbracoRenderingDefaultsOptionsSetup(IOptions<UmbracoRenderingDefaultsOptions> umbracoRenderingDefaultOptions)
//{
// _umbracoRenderingDefaultOptions = umbracoRenderingDefaultOptions;
//}
public void Configure(UmbracoRenderingDefaultsOptions options)
{
if (options == null)
{
throw new ArgumentNullException(nameof(options));
}
//options.DefaultControllerType = _umbracoRenderingDefaultOptions.Value.DefaultControllerType;
options.DefaultControllerType = typeof(RenderController);
}
}
}