C# MVC (Umbraco 8) - 在家里收到反复警告

C# MVC (Umbraco 8) - Receiving a recurrent warning in home

我有一个 Umbraco 8 c# MVC 网站,我意识到我有很多反复出现的日志警告,这使我的日志文件变得非常大。

日志警告信息为:

    The current Document Type home matches a locally declared controller of type "ACC_UMBRACO.Controllers.HomeController". 
Custom Controllers for Umbraco routing must implement '"Umbraco.Web.Mvc.IRenderController"' and inherit from '"System.Web.Mvc.ControllerBase"'.

我恢复的配置 > umbracoSettings.config 是:

<?xml version="1.0" encoding="utf-8" ?>
<settings>

  <!--
    umbracoSettings.config configuration documentation can be found here:
    https://our.umbraco.xxx/documentation/using-umbraco/config-files/umbracoSettings/
    Many of the optional settings are not explicitly listed here
    but can be found in the online documentation.
    -->

    <backOffice>
        <tours enable="false"></tours>
    </backOffice>

  <content>

    <errors>
      <error404>1</error404>
      <!--
        The value for error pages can be:
        * A content item's GUID ID      (example: 26C1D84F-C900-4D53-B167-E25CC489DAC8)
        * An XPath statement            (example: //errorPages[@nodeName='My cool error']
        * A content item's integer ID   (example: 1234)
      -->
      <!--
        <error404>
            <errorPage culture="default">26C1D84F-C900-4D53-B167-E25CC489DAC8</errorPage>
            <errorPage culture="en-US">D820E120-6865-4D88-BFFE-48801A6AC375</errorPage>
        </error404>
       -->
    </errors>

    <notifications>
      <!-- the email that should be used as from mail when umbraco sends a notification -->
      <!-- you can add a display name to the email like this: <email>Your display name here &lt;your@email.here&gt;</email> -->
      <email>accit@byrom.plc.uk</email>
    </notifications>


    <!-- How Umbraco should handle errors during macro execution. Can be one of the following values:
         - inline - show an inline error within the macro but allow the page to continue rendering. Historial Umbraco behaviour.
         - silent - Silently suppress the error and do not render the offending macro.
         - throw  - Throw an exception which can be caught by the global error handler defined in Application_OnError. If no such
                    error handler is defined then you'll see the Yellow Screen Of Death (YSOD) error page.
         Note the error can also be handled by the umbraco.macro.Error event, where you can log/alarm with your own code and change the behaviour per event. -->
    <MacroErrors>inline</MacroErrors>

    <!-- These file types will not be allowed to be uploaded via the upload control for media and content -->
    <disallowedUploadFiles>ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd,swf,xml,xhtml,html,htm,php,htaccess</disallowedUploadFiles>

    <!-- You can specify your own background image for the login screen here. This path is relative to the ~/umbraco path. The default location is: /umbraco/assets/img/login.jpg -->
    <loginBackgroundImage>assets/img/login.jpg</loginBackgroundImage>

  </content>

  <security>
    <!-- set to true to auto update login interval (and there by disabling the lock screen -->
    <keepUserLoggedIn>false</keepUserLoggedIn>
    <!-- by default this is true and if not specified in config will be true. set to false to always show a separate username field in the back office user editor -->
    <usernameIsEmail>true</usernameIsEmail>
    <!-- change in 4.8: Disabled users are now showed dimmed and last in the tree. If you prefer not to display them set this to true -->
    <hideDisabledUsersInBackoffice>false</hideDisabledUsersInBackoffice>
  </security>

  <requestHandler>
    <!-- this ensures that all url segments are turned to ASCII as much as we can -->
    <urlReplacing toAscii="try" />
  </requestHandler>

  
  <web.routing
    trySkipIisCustomErrors="true"
    internalRedirectPreservesTemplate="false" disableAlternativeTemplates="false" validateAlternativeTemplates="false" disableFindContentByIdPath="false"
    umbracoApplicationUrl="https://xxx.local.xxx/umbraco">
  </web.routing>

  
  <keepAlive disableKeepAliveTask="false" keepAlivePingUrl="{umbracoApplicationUrl}/api/keepalive/ping" />
</settings>

我所有的控制器都继承自 Umbraco.Controllers.BaseController:

家庭控制器:

public class HomeController : BaseController
{
    private readonly IUmbracoContextFactory _context;
    private readonly DictionaryManager _dictionaryManager;

    public HomeController(IUmbracoContextFactory context, DictionaryManager dictionaryManager)
    {
        _context = context;
        _dictionaryManager = dictionaryManager;
    }
    .......
}

public class BaseController : SurfaceController
{
  .....
}

我真的需要停止这个警告,所以任何帮助将不胜感激。

我会回答我自己的问题,以防它能帮助其他人解决这个问题。 据我调查,Umbraco 使用它自己的“Home”控制器,如果您创建一个本地“Home”控制器(如我的情况),它会产生一点冲突。该应用程序将继续运行,但您会收到大量警告。

我的解决方案只是将我的“Home”控制器重命名为其他名称。