こんにちは、
手動でアセンブリ(* .dll)をロードして、モジュールを動的に登録します。 何か案は?
本当にありがとう。
@khellangこんにちは、何かアイデアはありますか? ありがとう。
あなたは無効にすることができますModules
ブートストラップで財産をとのリストを返すModuleRegistration
。 デフォルトの実装は次のようになります。 https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Bootstrapper/NancyBootstrapperBase.cs#L107-L121 。
@khellang情報ありがとうございます。 残念ながら、これは私が本当に望んでいることではありません。 ちなみに、モジュールリストはカスタマイズできます。 ただし、実行時に新しいモジュールを登録する場合は、毎回NancyHostを再起動する必要があります。 私がやりたいのは、dllを動的に反映し、実行時にモジュールをNancyHostに登録することです。 実際、NancyModuleのホットプラグを実現することです。 何か案は? ありがとう!
いいえ。 これは不可能です。 ナンシーはモジュールをスキャンし、起動時に一度コンテナに登録します。 これは、ルートハンドラーなどのキャッシュが原因です。
@khellangNancyModuleホットプラグを処理するために複数のNancyHostインスタンスまたはMutitipleプロセスを作成する場合はどうでしょ
私が考えることができる唯一の方法は、セルフホストを実行することです。ロードする新しいDLLがある場合は常に、ホストを強制終了し、DLLをロードしてから、再度スピンアップします。ブートストラッパーを破棄して、新しいインスタンスを作成する必要もあります。毎回それの。
@khellang @grumpydevこんにちはみんな、ナンシーサポートモジュールのホットプラグは可能です、私はナンシーの小さな変更を加えるだけです。 それはうまくいきます。 :D興味があれば、一緒に話し合うことができます。 私は寝なければなりません、今は朝の3時半です。 :D
@ Hell0wor1dどうやってやったの? コミュニティと共有してみませんか? PRか要点か?
@brgrzちょうどあなたのために投稿を書きました。 どうも。 ナンシーサポートをホットプラグにする
ありがとう、素晴らしい仕事。
この問題は解決されたと思いますが、公式ビルドに入る可能性はどのくらいありますか?
申し訳ありませんが、これはもう最新ではないと思います。現在、特定のモジュールのみをコードで登録する方法はありますか?
最も参考になるコメント
@brgrzちょうどあなたのために投稿を書きました。 どうも。 ナンシーサポートをホットプラグにする