如何解决C# MVC (Umbraco 8) - 在家里收到反复警告
我有一个 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 <your@email.here></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”控制器重命名为不同的名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。