問題タブ [nancy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1068 参照

c# - TinyIoc - すべてのインターフェイス登録を AsPerRequestSingleton に設定するにはどうすればよいですか?

上記は、私の TinyIoc 構成を含む既存のアプリケーションのスタートアップです。すべてのインターフェース登録を取り、それらをすべて PerRequestSingletons に変換する方法はありますか? リポジトリが多すぎるため、それらを「1つずつ」実行することはできません。また、NHibernateのセットアップ方法では機能しないため、それらをシングルトンのままにしておくこともできません。

0 投票する
1 に答える
4451 参照

.net - NancyFX: クエリ文字列パラメーターを含むルートは常に 404 NotFound を返します

シンプルな Nancy モジュールがあります。クエリ文字列 (qs) パラメーターをハンドラーに渡したいです。qs パラメータがない場合は、すべて問題ありません。パラメータを追加するとすぐに、404 ステータス コードが返されます。

ナンシーモジュール

単体テスト - 合格

単体テスト - 失敗

ありがとう

0 投票する
1 に答える
7088 参照

.net - NancyFX : JSON をデシリアライズする

ドキュメントは、NancyFx が json リクエスト本文の WRT デシリアライズに役立つことを示唆していますが、その方法はわかりません。以下のテストを参照してください。

0 投票する
0 に答える
1226 参照

.net - NancyFx : リクエスト本文の Json としての DateTime

これが一般的な json の問題なのか、Nancy に固有のものなのかはわかりません。リクエストの本文で日時をjsonとして渡したいです。同じアプローチを使用して、dto の失敗に使用します。DateTime はサーバー側で作成されますが、値セット クライアント側ではなく Datetime.Min です。

0 投票する
11 に答える
1628 参照

python - 非常に軽量な Web サイト フレームワークの推奨事項

0 投票する
1 に答える
1095 参照

nancy - ナンシーのスーパーシンプルビューエンジンマスターページにアクセスしていますか?

私が取り組んでいるプロジェクトには特定の要件があります。サーバー側からマスター ページの CSS と属性を変更するのが好きです。アプリのテーマを変更したい。

Nancy - 超シンプルなビュー エンジン: ビューで MasterPage のタイトルを上書きするにはどうすればよいですか?

これを確認した後、マスターページのプロパティをオーバーライドする方法がわかりました。Nancy を Web フレームワークと超シンプルなビュー エンジンとして使用しています。これはナンシーのデフォルトです。ここでは、前のリンクに従って、ビューに渡すすべてのビュー モデルでテーマ属性を渡す必要があります。

それで、私の質問は、これ以外に方法はありますか?つまり、データベースに直接アクセスして、テーマの現在のユーザー設定を確認してレンダリングし、コア アプリケーション部分はそのまま残ります。

さらに詳細が必要な場合はお知らせください。

0 投票する
0 に答える
1749 参照

c# - Nancy Ninject モジュールの構築

Ninject を IoC コンテナーとして使用して Nancy モジュールをテストしようとしています。私の問題は、Nancy に IoC バインディングを使用して NancyModule タイプを解決させることができないように見えることです。

最新の Nancy on Nuget、最新の Ninject でソースからビルドされた最新の Nancy.Bootstrap.Ninject を使用しています。

私のテスト設定は次のとおりです。

これが私のテスト セットアップです。これが私のホスト設定です(私のアセンブリで定義されています):

私のIoCバインディングは次のとおりです。

Nancy モジュールの構築を制御したい。Nancy のソースを調べたところ、nancy が適切なキーを持つタイプ NancyModule のすべての登録済みバインディングについて、構成済みの IoC コンテナーに要求するように見えます。以下のコードは、Nancy.Bootstrappers.Ninject アセンブリで定義されています。

キーは、キー ジェネレーター オブジェクトを使用して生成されているように見えます。

これが、バインディングが名前付きバインディングとして設定されている理由です。考え方は、Nancy が (モジュールの) 名前付きバインディングを要求すると、私の名前付きバインディングを選択するというものです。

期待どおりに機能していません。Ninject は、タイプ NancyModule に対して複数のバインディングが設定されていると不平を言っています。

繰り返しますが、私の目標は Nancy モジュールの構築を制御することです。

どんなアイデアでも大歓迎です。

PSモジュールに依存関係を注入することについて話すとき、私はこの質問のようにNinjectModulesを参照しません/参照しません

0 投票する
2 に答える
1398 参照

c# - その他のNancy.Testing.BrowserGET/ PUT / POST / DELETE

ナンシーフレームワークを使用しています... http://nancyfx.org/

次の例のように、クライアント側でBrowserオブジェクトを使用してNancyサービスを利用する場合は、https ://github.com/NancyFx/Nancy/wiki/Testing-your-applicationを参照してください。

アプリがテストされていなくても、Nancy.Testingを使用する必要がありますか?言い換えると、このオブジェクトのようにGet、Put、Post、およびDelete操作を実行する他のブラウザオブジェクトは存在しますか?

0 投票する
1 に答える
678 参照

singleton - NancyFX:IUserMapperシングルトンが2回インスタンス化されるのはなぜですか?

FormsAuthenticationの非常に単純な例を実装しようとしています。それは現実の生活ではありませんが、問題を引き起こしました。アプリケーションレベルのシングルトンとなることを目的としたAuthenticationServiceは、2回インスタンス化されているように見えます。

コードは次のとおりです。

上記のコードは、私が次のように使用してLoginModuleいます。AuthenticationServiceモジュールのコンストラクターを介して、アプリケーションレベルのシングルトンインスタンスを注入していることに注意してください。

何が起こるべきかというと、ユーザーPOSTsがユーザー名とパスワードを入力すると、これらはメソッドAuthenticationServiceを介してチェックされます。GetIdentifier(..)資格情報が一致する場合、単一のGUID識別子が返されます。これは、フィールドとして作成され、アプリケーションの起動時にシングルトンが最初にインスタンス化されるときに1回設定GUIDされるため、常に同じになります。readonlyAuthenticationService

ただし、そうではありません。代わりに、の2つの異なるインスタンスが作成されます。1つはコンストラクターにAuthenticationService挿入されてメソッドを呼び出すために使用され、もう1つはナンシーがメソッドを呼び出すために使用します。LoginModuleGetIdentifier(..)IUserIdentity.GetUserFromIdentifier(..)

これらの2つのインスタンスは異なるGUID識別子を持っているため、GetUserFromIdentifier(..)メソッドは常にnullを返します。

実装されていない標準のシングルトンサービスをテストしましたがIUserMapper、期待どおりに機能し、インスタンスは1つだけ作成されます。

したがって、ナンシーはIUserMapperシングルトンを2回インスタンス化しているようです。1回はFormsAuthentication中に内部で使用するため、もう1回はLoginModuleコンストラクターに注入するためです。

私の間違いを見つけられますか?

ありがとう

0 投票する
2 に答える
1260 参照

asp.net - C#5 async / awaitを使用してasp.netでホストされているモジュールから非同期プロセスを呼び出すにはどうすればよいですか?

NancyModuleGetメソッドを介して呼び出される長時間実行プロセスがあります。プロセスの実行中にブラウザーがハングするのではなく、この呼び出しを非同期にします。つまり、Getメソッドをすぐに返し、長時間実行されているプロセスにその処理を任せます。その後、定期的にプロセスのステータスを確認し、それに応じて行動することができました。

私はC#5の非同期/待機機能に不慣れですが、これらはまさにこの種のタスクのためのものであると確信しています。以下のコードは私の試みを示しています。期待どおりに非同期で実行されていないことを示すロギングをいくつか入れました。代わりに、長時間実行されるプロセスがGetメソッドをブロックするため、ブラウザーがハングします。

モジュール

サービス

拡張方法

ログ出力

上記のログ出力から、LongProcess()がGetモジュールの戻りをブロックしていることがわかります。タスクが非同期で実行されている場合、ログは次のようになります。

期待されるログ

await実際に必要なのは、NancyModuleGetメソッドに入れることだと思います。以下のコードのようなものかもしれませんが、モジュールコンストラクターをとしてマークすることができず、Getメソッド内でasnyc使用できないためawait(または現在信じている) 、これを行うことはできません

ヘルプ、例、またはリソースへのポインタをありがとう。

編集1

asyncさらなる調査により、asp.netはデフォルトで積極的に通話を阻止しているように見えることが明らかになっています。とは何か、Sessionそしてそれが非UIスレッドを処理する方法と関係があると私は信じています。だから私は私のweb.configに以下を追加しました(以下を参照)

  • UseTaskFriendlySynchronizationContext
  • enableSessionState = "false"

残念ながら、それは何の違いもありません、そして、私のasync/await呼び出しLongProcess()はまだブロックしています。