Nancy: 内部服务器错误时令人困惑的错误消息

创建于 2016-10-30  ·  5评论  ·  资料来源: NancyFx/Nancy

嗨,我有一个请求而不是错误报告。
当代码抛出异常时,我得到了这个页面。

screen shot 2016-10-30 at 13 49 16

尽管我尝试设置值,但我找不到名为TraceConfiguration.DisplayErrroTraces的静态属性或名为environment#Tracing的方法。
我猜这个功能在 Nancy 2.0 中不再可用,对吧?

几分钟后,我注意到以下代码有效。

    public class Bootstrapper : Nancy.DefaultNancyBootstrapper 
    {
        public override void Configure(INancyEnvironment environment)
        {
            var config = new Nancy.TraceConfiguration(enabled: false, displayErrorTraces: true);
            environment.AddValue(config);
        }
    }

我认为最好展示上面的例子,你怎么看?

最有用的评论

是的,我错过了一个 using 指令,如果他们有同样的问题,其他人的完整类:

using Nancy;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
using Nancy.Configuration;

public class CustomBootstrapper : DefaultNancyBootstrapper
{
        public override void Configure(INancyEnvironment environment)
        {
            environment.Tracing(enabled: false, displayErrorTraces: true);
        }
}

谢谢!

所有5条评论

你好,

感谢您让我们知道。 我认为错误信息非常直接,尤其是这句话非常明确地说明了要做什么

  1. 覆盖 Boostrapper 的Configure方法
  2. 调用environment.Tracing(启用:false,displayErrorTraces:true)

所以暂时我们不会做任何改变

我也觉得这很令人困惑,没有找到在文档中启用这些功能的方法,并且使用 miyatin 中的类会显示此错误:

错误 CS0234:命名空间“Nancy”中不存在类型或命名空间名称“INancyEnvironment”(您是否缺少程序集引用?)
错误 CS0115:“CustomBootstrapper.Configure(INancyEnvironment)”:找不到合适的方法来覆盖

如果您使用的是 v2,请按照错误页面中的说明进行操作。 在引导程序覆盖中配置和使用环境。跟踪

是的,我错过了一个 using 指令,如果他们有同样的问题,其他人的完整类:

using Nancy;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
using Nancy.Configuration;

public class CustomBootstrapper : DefaultNancyBootstrapper
{
        public override void Configure(INancyEnvironment environment)
        {
            environment.Tracing(enabled: false, displayErrorTraces: true);
        }
}

谢谢!

配置更改实际上提供了什么级别的日志记录? :)

    public override void Configure(INancyEnvironment environment)
    {
       environment.Tracing(enabled: false, displayErrorTraces: true);
    }

昨天我遇到了一个问题,Nancy Bind<> 用ModelBinding.ModelBindingException对我造成了崩溃,这是由错误的 DateTime 字段值0002-01-01 00:00:00 +0000;引起的,我有点希望这个配置能真正告诉我我name的违规属性是什么,但事实并非如此。

顺便提一句。 找到了这个错误,但我不得不在我的日期字段上写出几个 get/set 方法来找到有问题的那个。 :)

此页面是否有帮助?
0 / 5 - 0 等级