Nancy: 内部サーバーエラー時の紛らわしいエラーメッセージ

作成日 2016年10月30日  ·  5コメント  ·  ソース: NancyFx/Nancy

こんにちは、バグレポートではなくリクエストがあります。
コードが例外をスローしたとき、私はこのページを取得しました。

screen shot 2016-10-30 at 13 49 16

値を設定しようとしましたが、 TraceConfiguration.DisplayErrroTracesという名前の静的プロパティまたはenvironment#Tracingという名前のメソッドが見つかりませんでした。
この機能はナンシー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(enabled:false、displayErrorTraces:true)を呼び出します

そのため、当面は変更を加えません。

これも紛らわしいと思いますが、ドキュメントでこれらを有効にする方法が見つかりませんでした。miyatinのクラスを使用すると、次のエラーが表示されます。

エラーCS0234:タイプまたは名前空間名 'INancyEnvironment'が名前空間 'Nancy'に存在しません(アセンブリ参照がありませんか?)
エラーCS0115: 'CustomBootstrapper.Configure(INancyEnvironment)':オーバーライドする適切なメソッドが見つかりません

v2を使用している場合は、エラーページの指示に従ってください。 ブートストラップオーバーライドでenvironment.Tracingを構成して使用します

そうです、他の人が同じ問題を抱えている場合に備えて、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 評価