問題タブ [autofac]
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.
autofac - レイジーに何が起こったのかAutofacでのサポート?
Autofac 2.1のベータビルドではLazy<T>
、NicholasBlumhardtのLazingAroundwithAutofacブログ投稿で説明されているようにの自動解決がサポートされていました。
コードはまだGoogleCodeのソースにあるようですが、LazyDependencyModule
私が調べた.NET4.0バイナリのいずれにも見つかりません。それはどこかに移動しましたか?
Lazy<T>
Autofacの自動解像度を最新のAutofacビルドで使用するにはどうすればよいですか?
asp.net - Autofac を使用して ASP.NET MVC2 のアクション フィルターにセッターを挿入するにはどうすればよいですか?
これで Global.asax Application_Start でうまくいくと思ったのですが、うまくいきません:
私は何が欠けていますか?
c# - カスタム IoC の作成 - スコープを持つ DI を実装する方法は?
私は自分自身の学習/成長のために IoC コンテナーを作成しています。通常、私は次のようなものを書きます。
次のようになります。
DisposableObject を抽象化しusing
て、IoC を使用するときにスコープで使用される唯一のインスタンスになるようにするにはどうすればよいですか? Autofac がどのようにそれを行うのかを理解しようとしていますが、完全にはわかりません。
編集:オブジェクトがusing
スコープでインスタンス化される場合、その型 (この場合はIDisposableObject
) を解決するためのすべての呼び出しは、新しいインスタンスではなく、スコープ変数を返す必要があります。using
ステートメントの後、別のステートメントが呼び出されると、新しいインスタンスResolve<IDisposableObject>
が返されることも重要です。
c# - 複数のインターフェースに対して同じインスタンスを返す
次のコードでコンポーネントを登録しています。
次に、2つのインターフェイスを実装するクラスがあります。
解決するIStartable
と1つのインスタンスを取得し、解決するIConsumer<ConsoleCommand>
と別のインスタンスを取得します。
両方のインターフェースで同じインスタンスを取得するにはどうすればよいですか?
nhibernate - Autofac を使用した NServiceBus での NHibernate セッション管理
Andreas Ohlund は、 Structuremap を使用して NHibernate セッションを接続し、NSB トランザクションに自動的に参加させる方法についての優れた記事をここに書いています。
Autofacで同じことを達成できるかどうか知っている人はいますか?
asp.net-mvc - Autofac でコンポーネントを作成した後にプロパティを自動的に設定する
コード例は次のとおりです。
ASP.NET MVC アプリでコントローラーを作成するために AutofacControllerFactory を使用しています。すべてのコントローラーのコンストラクターでこのコード行を削除することは可能ですか:
つまり、このプロパティを ControllerContext で自動的に設定することは可能ですか? すべての IService 実装には設定可能な IContext プロパティがあるため、これが可能になるはずです。
AutofacControllerFactory を拡張する必要がありますか、またはこれを行う標準的な方法はありますか?
autofac - Autofacがコンストラクターで解決された引数に同じインスタンスを渡さない
私は次の設定をしています
各コンストラクターの共通引数を同じインスタンスにしたいのですが、SomeClassが解決されたときにICommonの新しいインスタンスを作成します。どうすればこの時間を実現できますか。それらをInstancePerLifetimeScopeとして登録しようとしましたが、SingleInstanceと同じように機能しました。
asp.net - ASP.NET アプリケーションでホストされている WCF サービスへの DI に Autofac を使用する
Autofac 1.4.5 を使用して WCF サービスにサービスの依存関係を挿入するのに問題があります。私は WcfIntegration のAutofac wiki ページを読んでフォローしましたが、私のデバッグでは、私の WCF サービスSystem.ServiceModel.Dispatcher.InstanceBehavior.GetInstance()
はAutofacWebServiceHostFactory
. 私は何を間違っていますか?
ajax.svc
で使用する例のファイルのようにファイルを設定しましたWebHttpBinding
。
私の WCF サービス クラスAjax
は次のように定義されています。
Global.asax.cs
上記のwikiに示されているように、今私は配線を使用しました:
と
私のweb.configには
.
サービスは既に正常に動作していますが、Autofac ビット (読み取り: 作成/挿入) を動作させることができません。何か案は?
編集: デフォルトのコンストラクターを削除すると、残念ながら次の例外が発生します。
乾杯、 オリバー
c# - 静的クラスから名前付きインスタンスを解決するには?
誰かが私が間違っていることについて何か考えがありますか?
私はそのような静的クラスを持っています:
MVC アプリケーションの Global.asax.cs には次のものがあります。
そして今問題について:コンテナから名前付きインスタンスを解決するにはどうすればよいですか?
しかし、ApplicationContainer クラスが静的でない場合、コンテナーからの解決は非常にうまく機能します。autofac 2.2.4 を使用しています。
c# - Autofac-パラメータを使用してコンポーネントを動的に解決する
コンストラクター引数としてインターフェースを取るクラスがあります。このインターフェイスには2つの実装があり、変数に基づいて実行時に使用する実装を決定したいと思います。
問題は、上記のクラスがAutofacによって解決されるオブジェクト階層の奥深くにあるため、引数を渡すことができないことです。
以下のようなものが私が達成しようとしていることです。
何か案は?
アップデート:
明確にするために、これは正常に動作する既存のアプリケーションによって使用される既存のオブジェクト階層です。また、オブジェクトモデルは、この例に示されているものよりもはるかに大きくなっています。結果として、オブジェクトグラフの各コンストラクターにファクトリを渡して、そのグラフの深いクラスで使用する必要はありません。
Class2がそれについて何も知らずにIInterface1の別の実装をClass1に渡す方法はありますか?
ありがとう