問題タブ [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.
asp.net - AutofacでのHttpRequestScopedの解決の問題
アプリケーションでAccountControllerを解決しようとしていますが、ライフタイムスコープの問題があるようです。
MyDataContextとUnitOfWorkをHttpRequestLevelでスコープする必要があります。AccountControllerを解決しようとすると、次のエラーが発生します。
式'value(Autofac.Builder.RegistrationBuilder`3 + <> c__DisplayClass0 [...])。lifetimeScopeTag.Equals(scope.Tag)'に一致するスコープは、インスタンスが要求されたスコープからは表示されません。
依存関係の有効期間が正しく設定されていませんか?
c# - 新たに逆シリアル化されたオブジェクトの依存関係を再注入します
プログラムが文字通りオブジェクトを逆シリアル化した場合(実際にはどのように問題はありませんが、BinaryFormatterが使用されたとだけ言ってください)。
このオブジェクトの依存関係を再注入するために使用するのに適した設計は何ですか?
これに共通のパターンはありますか?
コンテナ内でファクトリとして機能するには、Deserialize()メソッドをラップする必要があると思います。
ありがとう!
asp.net-mvc-2 - 2つの異なるエリアで同じ名前の異なるコントローラを使用すると、ルーティングの競合が発生します
私には2つの分野があります:
ControlPanel
およびPatients
。
どちらにも、名前だけが似ているProblemsControllerというコントローラーがあります。望ましい結果は、/ controlpanel / problems=>MyApp.Areas.ControlPanel.Controllers.ProblemsControllerおよび/patients/problems=>MyApp.Areas.Patients.Controllers.ProblemsControllerを生成するルートになります。
それぞれに次のように構成されたルートがあります。
ここで、*****ここのエリア名*****はControlPanelまたはPatientsのいずれかです。
(たとえば)/patients/problems/createに移動すると、ルーティングエラーが次のように表示される404が表示されますA public action method 'create' was not found on controller 'MyApp.Areas.ControlPanel.Controllers.ProblemsController'
。
何が間違っているのかわかりません。
asp.net-mvc - HttpRequestScopedを使用したAutofac2およびMVC2の問題
Autofac2とMVC2で問題が発生しています。問題は、ルート依存関係がHttpRequestScopedである一連の依存関係を解決しようとしていることです。UnitOfWork(Disposable)を解決しようとすると、内部ディスポーザがUnitOfWorkオブジェクトをnullの内部廃棄リストに追加しようとしているため、Autofacが失敗します。依存関係を間違ったライフタイムで登録しているのかもしれませんが、運が悪かったので、さまざまな組み合わせを試しました。私が持っている唯一の要件は、MyDataContextがHttpRequest全体にわたって持続することです。
ここにダウンロード用のコードのデモバージョンを投稿しました。
Autofacモジュールはweb.configで設定されます
Global.asax.cs
AutofacDependencyResolver.cs
IoCHelper.cs
UnitOfWork.cs
MyDataContext.cs
MyService.cs
HomeController.cs
.net - インスタンスの解決 - Autofac
コードのどこかでインスタンスを解決する方法を見つけようとしています。
アプリケーションの起動時にタイプを登録しました
では、コードのどこかでインスタンスを解決するにはどうすればよいでしょうか?
StructureMAPには静的オブジェクトがありますObjectFactory.GetInstance<IFoo>()
ioc-container - AutoFac2でのサービスロケーターの回避
AutoFac 2forDIを使用するアプリケーションを構築しています。静的なIoCHelper(Service Locator)の使用は避けるべきだと読んでいます。
IoCHelper.cs
前の質問への回答から、自動生成されたファクトリを使用して、UnitOfWorkでIoCHelperを使用する必要性を減らす方法を見つけました。この道を進み続けると、IoCHelperを完全に排除できるかどうか興味があります。
シナリオは次のとおりです。
構成実装のラッパーとして機能する静的Settingsクラスがあります。Settingsクラスは他のクラスの大部分への依存関係であるため、ラッパーを使用すると、アプリケーション全体に設定クラスを挿入する必要がなくなります。
Settings.cs
サービスロケーターを使用せずに、またすべてのクラスにAppSettingsを挿入する必要なしに、これを処理する方法はありますか?以下にリストされているのは、コンストラクターインジェクションの代わりにServiceLocatorに頼り続ける3つの領域です。
- AppSettings
- ロギング
- キャッシング
c# - Autofac2と名前付き登録を使用したコンストラクターインジェクション
現在、コード内のいくつかの.Resolveを削除しようとしています。名前付き登録に遭遇するまで順調に進んでいましたが、名前を使用してAutofacを解決することができませんでした。名前付き登録をコンストラクターに注入するために何が欠けていますか。
登録
現在のクラス
欲しい
asp.net-mvc - エリアを持つ ASP.NET MVC2 アプリケーションで AutoFac を使用してコントローラーを登録する
コントローラーがエリアに分割されているアプリケーションで AutofacControllerFactory を動作させることができた人はいますか?
現在のバージョンではそのままではサポートされていないようです。
ありがとう
c# - TypeMock を使用した Autofac の "Resolve" 拡張メソッドのモック
次のようなAutofac解決をモックしようとしています
Moq 出身の私は、TypeMock の構文と例外にかなり混乱しています。最初にこれを TestMethod で実行したところ、「WhenCalled は補完動作なしでは実行できません」に似た例外が発生し続けました。私は全員とその母親の行動を定義しようとしましたが、役に立ちませんでした.
次に、テスト実行をステップ実行してデバッグし、Autofac から実際の例外が発生したことを確認しました: IRubber は登録されていません。
したがって、静的な Resolve 関数が偽造されていないことは明らかであり、どのように接続しようとしても、偽造することはできません。
... IComponentContext を null にすることはできないという不平を言う Autofac から例外をスローします。おそらく偽造された IContainer をフィードする (または代わりに IComponentContext を偽造する) と、「IRubber が登録されていません」というエラーに戻ります。
java - Java/Scala用の制御フレームワークの単純な反転
Java/Scalaで書かれたGUIアプリケーション用の使いやすいIoCコンテナを探しています。
設定より規約、ライフサイクル管理、コードでの構成(できれば、XMLをまったく必要としない)、およびコンパイル時の依存関係のチェックを可能な限りサポートする必要があります。Autofacに似たものが完璧でしょう。