私のプロジェクトには、サービス クラスがあります。
class KLAService : IKLAService
{
CentralLogic centralLogic;
.....
}
ServiceHost
このクラスを使用して、次のように設定しました。
centralLogic = new CentralLogic();
ServiceHost host = new ServiceHost(typeof(KLAService));
using (host)
{
host.Open();
Application app = new Application();
app.Run(new ConfigurationWPF.MainWindow(centralLogic));
host.Close();
}
明らかになったかもしれませんが、CentralLogic
クラスのインスタンスを 1 つ作成します。このインスタンスは UI だけでなく、ホストでも使用され、ソリューション内の他のものを管理します。
私が今抱えている問題は、centralLogic
-変数を -class KLAService
(またはhost
) に設定することです。これを行う方法がわかりません。プラグイン Ninject と、サービスにオブジェクトを挿入する方法について読んだことがありますが、それは私のリーグ外であり、簡単な方法があると思わずにはいられません。
どうすれば自分の目標を最もよく達成できますか?
編集: 提案された別の解決策は、ServiceHost を開始し、CentralLogic
その逆ではなく、そこで作成することでした。これは、ServiceHost に何らかのコンストラクターが必要であることを意味します。ベストプラクティスが何であるか、これを達成する方法がわかりません。どんな助けでも大歓迎です。