2

動機: クラスをシングルトン スコープにしようとしていて、次のようにシングルトンとして定義しました。

kernel.Bind<IClass>().To<Class>().InSingletonScope();

アイデアは、これを mvc と webapi の間で共有する必要があるということです。

MVC では、クラスはシングルトンになります。したがって、これはMVCプロジェクトでうまく機能します。

質問 : WebAPI 用に独自の IDependencyResolver を実装しました。そして、同じカーネル設定を使用します。

したがって、クラスを webapi 呼び出しでもシングルトンにすることができることを理解しています。しかし、このシングルトンを webapi と mvc の両方に共通にすることはできますか? Get は、mvc または webpi 呼び出しの両方で永続化されます。

おそらく、ここでいくつかの概念が欠けています。これを達成する方法を教えてください。それとも、これは不可能ですか。はい、おそらくデザインは奇妙で正しくありませんが、何らかの理由でこれを行う必要がある場合.

4

1 に答える 1

1

MVC と Web Api の両方を持つということは、独自のメモリ空間やプロセスなどを持つ 2 つの別個のアプリケーションがあることを意味します。

AppDomain で何かを試すことができると思いますが、問題が発生する可能性があります。

セッションで試すこともできますが、Web API は REST であるため、それを使用する必要はありませんが、同じインスタンスが本当に必要な場合は、ルールを少し曲げてみることができます。

于 2013-10-23T05:48:54.763 に答える