web.config 文件中没有 customerror 标记,Customerror 模式设置为 RemoteOnly 作为 web api 2 项目的默认值
Without having customerror tag in web.config file ,Customerror mode is set to RemoteOnly as the default value for web api 2 project
我使用 web 的空模板 api(使用 VS 2013)为我们的应用程序开发服务组件。我正在尝试根据 web.config 文件中使用自定义错误标记设置的值设置 Web api 的错误详细信息策略。默认情况下,web.config 文件中没有自定义错误标记。我使用下面提到的代码在 WebApiConfig class.
的 Register 方法中设置错误详细信息策略
var customErrors =
(CustomErrorsSection)ConfigurationManager.GetSection("system.web/customErrors");
if (customErrors != null)
{
switch (customErrors.Mode)
{
case CustomErrorsMode.RemoteOnly:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
break;
}
case CustomErrorsMode.On:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Never;
break;
}
case CustomErrorsMode.Off:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
break;
}
default:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Default;
break;
}
}
在调试代码时,我注意到即使 web.config 文件的 system.web 部分下没有 customErrors 标记,变量 customErrors 返回的值设置为 mode= RemoteOnly
任何人都可以帮助我知道我缺少什么吗?
the variable customErrors is returning a value set up with mode= RemoteOnly
您得到这个值是因为这是自定义错误元素的默认值。
even though there is no customErrors tag under the system.web section in the web.config file
是的,即使项目中没有配置文件,但总是在 Machine.config 中指定设置。
在 .NET Framework 版本 1.0 和 1.1 的 Machine.config 文件中配置了以下默认 customErrors 元素。
<customErrors mode="RemoteOnly" />
参见:MSDN 文章
我使用 web 的空模板 api(使用 VS 2013)为我们的应用程序开发服务组件。我正在尝试根据 web.config 文件中使用自定义错误标记设置的值设置 Web api 的错误详细信息策略。默认情况下,web.config 文件中没有自定义错误标记。我使用下面提到的代码在 WebApiConfig class.
的 Register 方法中设置错误详细信息策略var customErrors =
(CustomErrorsSection)ConfigurationManager.GetSection("system.web/customErrors");
if (customErrors != null)
{
switch (customErrors.Mode)
{
case CustomErrorsMode.RemoteOnly:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
break;
}
case CustomErrorsMode.On:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Never;
break;
}
case CustomErrorsMode.Off:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
break;
}
default:
{
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Default;
break;
}
}
在调试代码时,我注意到即使 web.config 文件的 system.web 部分下没有 customErrors 标记,变量 customErrors 返回的值设置为 mode= RemoteOnly
任何人都可以帮助我知道我缺少什么吗?
the variable customErrors is returning a value set up with mode= RemoteOnly
您得到这个值是因为这是自定义错误元素的默认值。
even though there is no customErrors tag under the system.web section in the web.config file
是的,即使项目中没有配置文件,但总是在 Machine.config 中指定设置。
在 .NET Framework 版本 1.0 和 1.1 的 Machine.config 文件中配置了以下默认 customErrors 元素。
<customErrors mode="RemoteOnly" />
参见:MSDN 文章