AppHostExtensions.cs の appHost 拡張メソッドで RegisterService メソッドを呼び出すことにより、実行時にサービスを登録できることはわかっています。よく働く。実行時にサービスを登録解除する方法、またはすべてのサービスをクリアして再登録する方法はありますか?
dll をフォルダーにドロップできるプラグイン タイプの構造が必要であり、servicestack が実行時にすべてのサービスを登録するので、これが必要です。
AppHostExtensions.cs の appHost 拡張メソッドで RegisterService メソッドを呼び出すことにより、実行時にサービスを登録できることはわかっています。よく働く。実行時にサービスを登録解除する方法、またはすべてのサービスをクリアして再登録する方法はありますか?
dll をフォルダーにドロップできるプラグイン タイプの構造が必要であり、servicestack が実行時にすべてのサービスを登録するので、これが必要です。
私は、私にとってうまくいく単純な力ずくのアプローチを思いつきました。個々のサービスをロードおよびアンロードすることを好みますが、このアプローチで十分です。
AppHost ファイルにメソッドを追加しました
public static void Clear()
{
Instance = null;
}
次に、サービススタックをリロードしたいmvcコントローラーメソッドで呼び出します
AppHost.Instance.Dispose();
AppHost.Clear();
new AppHost().Init();
これにより、すべてがリロードされ、サービス dll の新しいプラグインを取得できるサービスが再初期化されます。
いいえ。ServiceStackは、実行時の個々のサービスの配線解除および登録解除をサポートしていません。