<p>ナンシー2.0.0-クリントイーストウッドのフィードバック</p>

作成日 2016年12月22日  ·  8コメント  ·  ソース: NancyFx/Nancy

問題を見つけた場合は、問題を開いて、問題を特定するためにできるだけ多くの情報を提供してください。 または、問題の解決に役立つと思われる場合は、遠慮なくプルリクエストを送信してください。 プルリクエストの開始方法についてのガイドが必要な場合は、寄稿ガイドラインをご覧ください。 スタイルガイドラインを見逃さないようにしてください、私は見逃しません:D

注: Nancy 2.0-clinteastwoodはプレリリースであるため、 -preトグル、つまりinstall-package Nancy -preを使用してパッケージをインストールする必要があります。

報告された特定のバグやプルリクエストに直接関係のないコメントを投稿するには、この問題を使用してください。

TODO

以下は、 2.0.0-clinteastwoodのリリース後に実行する必要があり、$ 2.0.0-dangermouseがリリースされる前に完了する必要がある特定されたタスクのリストです。 TODOリストを編集し、見つかったアイテムを追加し、アイテムを閉じるために送信されるプルリクエストへのリンクを追加します

  • [x] AsyncUsageAnalyzersすべてのproject.jsonpackages.configでビルド依存関係に設定されていることを確認してくださいここにミラーリングする正しい例-(プルリクエスト#2700 @jchannon
  • [x]すべてのプロジェクト(ナンシーを含む)の古い*.nuspecファイルをすべて削除します(pull-request#2658 @jchannon)
  • [x] Nancy.Hosting.Aspnet\project.jsonを更新して、パッケージにweb.config.transform $を含めます(プルリクエスト#2661 @thecodejunkie)
  • [x] Nancy.ViewEngines.Razor\project.jsonを更新して、パッケージにapp/web.config.transform $を含めます(プルリクエスト#2661 @thecodejunkie)
  • [] Nancy.ViewEngines.Razor\project.jsonを更新して、パッケージにNancy.ViewEngines.Razor.BuildProvider (ビルドターゲットを含む)を含めます

計画された変更

  • [] Request.CookiesRequest.Headers.Cookieのいずれかを削除します。ディスカッションについては#2628を参照してください。
  • []ビフォアフックとアフターフックの構文と機能を改善#2665
  • []「Nancy.Routing.Route.Invoke#2623の潜在的なパフォーマンスの問題」を調べてください
  • []コンテンツネゴシエーションの構成サポートを追加します。 自動拡張解決の説明については、#2671を参照してください。
  • [] netstandardをサポートするようにテストインフラストラクチャを更新します。問題#2612およびプルリクエスト#2628を参照してください。
  • []残りのサブシステムを非同期に変換します。pull-request#2577を参照してください。
  • [] StaticConfigurationの最後の残りの部分を削除します

既知の制限

  • 一部のパッケージは、依存関係としてAsyncUsageAnalyzersをインストールする場合があります。 これは安全に削除できるはずであり、すべてのプロジェクトでビルドの依存関係としてマークされるため、 2.0.0-dangermouseには含まれません。
  • Nancy.Hosting.Aspnetパッケージは*.config変換を適用しませ`、ホスティングを接続するには、自分で適用する必要があります
  • Nancy.ViewEngines.Razorパッケージは、ビューエンジン構成オプションを接続するために*.config変換 `を適用しませ。自分で適用する必要があります
  • Nancy.ViewEngines.RazorのビルドプロバイダーがNuGetパッケージにないため、NancyRazorビューでの構文の強調表示に問題が発生します
Improvement Epic

最も参考になるコメント

これは、基本モジュールにIoCコンテナーが満たすことができるコンストラクターがないためです。 stringの処理方法がわかりません。 BaseModuleが単独で呼び出されることを想定していない場合は、 abstractにすることをお勧めします...

全てのコメント8件

これはコンパイルされますが、実行時NullReferenceExceptionをスローします:

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    // do stuff
    // Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
    return null;
});

これは機能します:

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    //do stuff
    // Func<NancyContext, CancellationToken, Task<Response>>
    return Task<Response>.FromResult((Response)null);
});

頭を壁にぶつけて、それが超大げさでも幸せでもないことがわかるまで、少し時間がかかりました。

@danbaruaありがとう。 https://github.com/NancyFx/Nancy/issues/2665を開いたのは、ブートストラッパーを確認する時間ができたらすぐにパイプラインをオーバーホールしたいからです(これはすぐに発生します)新しいcsproj形式に移行しましたが、これは現在#2720で行われています)

ヤクシェービング! 😄

このコードは例外をスローします、このバグですか?

`` `C#

パブリッククラスBaseModule:NancyModule
{{
public BaseModule(string url):base(url)
{{
//カスタムロジック
}
}

パブリッククラスA:BaseModule
{{
public A():base( "urlA")
{{

}

}

パブリッククラスB:NancyModule
{{
パブリックB()
{{

}

}


System.InvalidOperationExceptionが発生しました
HResult = 0x80131509
Message =作成中に依存関係の1つを満たそうとしたときに問題が発生しました。コンテナにすべての新しい依存関係を登録したことを確認し、innerexceptionで詳細を確認してください。
ソース=
スタックトレース:
Nancy.Bootstrapper.NancyBootstrapperBaseで1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase 1.GetEngine()
Nancy.Owin.NancyMiddleware.UseNancy(NancyOptionsオプション)で
Nancy.Owin.DelegateExtensions.UseNancy(Action 1 builder, NancyOptions options) at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action 1 x)in E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31
Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin(IApplicationBuilderビルダー、Action`1パイプライン)で
PiggyBank.Site.Startup.Configure(IApplicationBuilderアプリ、IHostingEnvironment env、ILoggerFactory loggerFactory)のE:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31

内部例外1:
TinyIoCResolutionException:タイプを解決できません:Nancy.NancyEngine

内部例外2:
TinyIoCResolutionException:タイプを解決できません:Nancy.Routing.DefaultRequestDispatcher

内部例外3:
TinyIoCResolutionException:タイプを解決できません:Nancy.Routing.DefaultRouteResolver

内部例外4:
TinyIoCResolutionException:タイプを解決できません:Nancy.Routing.RouteCache

内部例外5:
TinyIoCResolutionException:タイプを解決できません:BaseModule

内部例外6:
TinyIoCResolutionException:タイプを解決できません:System.String

内部例外7:
TinyIoCResolutionException:タイプを解決できません:System.Char []

内部例外8:
ArgumentNullException:値をnullにすることはできません。

`` `

これは、基本モジュールにIoCコンテナーが満たすことができるコンストラクターがないためです。 stringの処理方法がわかりません。 BaseModuleが単独で呼び出されることを想定していない場合は、 abstractにすることをお勧めします...

年:

Get["post/{id}"] = Get["old/post/{id}"] = p =>{};

New(2.0):

?

Get( "post / {id}"、MyMethod);
Get( "old / post / {id}"、MyMethod);

Get( "post / {id}"、MyMethod);
Get( "old / post / {id}"、MyMethod);

その使用法は、いくらかの間接参照を追加します。 私は個人的にそれが好きではありません。 でも問題ありません。

たぶん、流暢な表現のためにいくつかのメソッドのオーバーロードを持つことは可能ですか? 例:

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });

代替表現

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });

これが望ましい場合、私はPRを刺すことができます

このページは役に立ちましたか?
0 / 5 - 0 評価