問題タブ [dependency-resolver]

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.

0 投票する
0 に答える
347 参照

asp.net - UserManager.CreateAsync 内で DependencyResolver.GetService() を使用する

from inDependencyResolver.GetService()と呼ばれるメソッド内で使用するときに問題に苦しんでいます。UserManager.CreateAsync()AspNet.Identity

この記事に従って、AspNetUser に UserProfile クラスを追加しました 。

すべて正常に動作しますが、新しいユーザーを作成するときに UserProfile エンティティも作成しようとし、この中に[CheckIfExists]UserProfile が既に存在するかどうかをチェックする属性があります。このメソッドでは、それを呼び出しましょう。インターフェイスを「concreate」クラスに解決するためCheckIfExists()に使用します。現在のスレッドが HttpContext の一部ではないため (CreateAsync():s スレッドで実行されているため)、これは失敗します。DependencyResolver.GetService()ICheckIfExistsCheckIfExists

誰かがこの問題に遭遇しましたか? それに対する解決策はありますか?IoC に StructureMap を使用しています。

0 投票する
7 に答える
25471 参照

dependency-injection - IDependencyResolver 実装による Web API 起動例外

私は Web API を開発しており、カスタム DependencyResolver を使用することにしました。この [Web API コントローラーの依存性注入]の記事を参照します。コントローラーへの依存性注入に関しては、これまでのところすべてがうまく機能しています。私の Owin スタートアップ クラスからの構成のコード スニペット

しかし、Api が初めて起動するときに、 UnityResolver のGetServiceメソッド内でResolutionFailedException がスローされます(ただし、キャッチされます) 。ここに例外メッセージがあります

上記の同じ例外が次のタイプでスローされます

上記のタイプのユニティ構成でマッピングを提供しなかったため、これらの ResolutionFailedException がスローされることはわかっています。

ここに私の質問があります:-、カスタムunity DependencyResolverを実装する場合、上記のタイプのマッピングを定義する必要があり、対応するデフォルトの実装タイプを定義する必要がある場合、またはDependencyResolverを実装する別の方法があります。アプリケーションは現在正常に動作していますが、上記のタイプの解決に失敗すると、後で深刻な問題が発生する可能性があることを本当に心配しています. 助けてください

最後の追加:- 次のタイプの場合、Web API に何らかのアクションを要求すると、同じ ResolutionFailedException がスローされます。

0 投票する
1 に答える
5689 参照

c# - System.web.Mvc DependencyResolver がジェネリック クラスのオブジェクトを作成できない

コントローラーで依存性注入を使用しようとしており、コントローラー クラスでサービス インスタンスを作成するために System.Web.MvcDependencyResolver.Current.GetService() を使用しています。

以下のように、サービス インターフェイスが一般的でない場合、これは正常に機能します。

以下の依存関係リゾルバーの構文は、ProfileManagementServiceのインスタンスを提供します

しかし、以下のような一般的なサービス インターフェイスを作成すると、

しかし、以下のコードで null ( CommonProfileManagementServiceオブジェクトが作成されない) を取得します

別の通過方法をいくつか提案してください

それ以外の

DependencyResolver.Current.GetService() に

0 投票する
1 に答える
1805 参照

.net - キャッスル ウィンザーはライフスタイル トランジェントで解決されたオブジェクトの参照を保持しますか?

城がそのオブジェクトへの参照を保持している場合、どこにアクセスできますか? コンテナ内のどこかにその参照のリストがありますか?

Castle Windsor 3.3.0を使用しています

0 投票する
1 に答える
282 参照

nhibernate - Castle Windsor と FluentNhibernate と NHibernate を使用して、別のクラス ライブラリで DependencyResolver を使用してスコープを失った

私の WCF プロジェクトでは、global.asax で Castle Windsor を使用してインターフェイスを登録します。

その後、同じファイルで、プロバイダーを使用して FluentNhibernate を使用して NHibernate を構成します。

ただし、この ConnectionProvider は、それを使用する必要がある他の WCF サービスがあるため、共通の共有 dll ライブラリでホストされます。この依存関係を以下のように登録したいのですが、機能しません。つまり、インスタンスを手動で新しく作成する必要があります。

とにかくこれを機能させる方法はありますか?現在、別のアセンブリにあるように、失われたスコープのようです。同じアセンブリで、DependencyScope は正常に動作し、インスタンスを作成しますが、それを共有 dll に保持したいと考えています。

編集:私が得るエラーは、このビットのコードの時計で「System.Web.Http.Dependencies.EmptyResolver」です:GlobalConfiguration.Configuration.DependencyResolver

0 投票する
1 に答える
131 参照

c# - リストに保存されているコマンドは Autofac で解決できません

以下のコードがある場合、コマンド パターンを実装します。いくつかのコマンドをリストに保存し、その後リストからそれらを選択し、コマンドハンドラーを解決して、最後にコマンドを実行したいと考えています。

これを実装すると、Autofac から単一のコマンドを解決することはできましたが、リストに格納されているコマンドを解決すると、以前にコマンドハンドラーを解決したのと同じコマンドであっても、コマンドハンドラーが見つからないという例外が発生しました。

そして、これが解決方法です

これを実行する方法を知っている人はいますか?