問題タブ [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.
asp.net-web-api - Web API セルフ ホスト アプリとシンプル インジェクターでの LifetimeScoping エラー
これら ( +、+、+、+ ) のページを読みましたが、どうすればよいかわかりません。
私はこの単純なインターフェースと具象型を持っています:
私はこれを作成しますDependencyResolver
:
サーバーを次のように構成しました。
そして、これは私のコントローラーです:
ここで、アクション メソッドを呼び出すと、次のエラーが発生します。
スレッド間で LifetimeScope インスタンスを使用するのは安全ではありません。ライフタイム スコープが囲む完全な操作が同じスレッド内で実行されることを確認し、LifetimeScope インスタンスが作成されたときに同じスレッドで破棄されることを確認します。Dispose は ManagedThreadId 28 のスレッドで呼び出されましたが、ID 29 のスレッドで作成されました。
私はどこで間違っていますか?助けていただけますか?
c# - Unity.MVC を使用せずに Unity の依存関係を解決する
次の Unity ロジックを使用する 2 つのプロジェクトがあります。
最初のプロジェクトは、Unity.MVC4パッケージを利用する Web アプリケーションです。そのため、特注の DependencyResolver がいくつかの作業を行っています。これは完全に機能します。
2 つ目は非 Web アプリケーションであるため、通常のUnityパッケージ インスタンスを使用しますが、 MyDbContextを使用する呼び出しが行われるとエラーが発生します。例外は
System.Data.Entity.Core.MetadataException: 指定されたスキーマが無効です。エラー: EntityDataModel.MyProject.ssdl(2,2): エラー 0152: Entity Framework プロバイダーの種類 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 'System.Data.SqlClient' の ADO.NET プロバイダーを読み込めませんでした。プロバイダー アセンブリが実行中のアプリケーションで使用できることを確認します。詳細については 、http: //go.microsoft.com/fwlink/?LinkId=260882を参照してください。
問題の原因を2番目のプロジェクトのUnityロジックに分離するために、別のプロジェクトにある同じサービスを呼び出すように両方のプロジェクトをセットアップしました。ORM として Entity Framework 6 を使用していることにも注意してください。
私の質問は、2 番目のプロジェクトを機能させるためにどの Unity コードが必要か、または EF アセンブリを参照するために追加できる app.config エントリがあるかどうかです。
更新: いくつかの追加作業の後、DbContext アセンブリを参照すると次のことに気付きました。
- EntityFramework
- EntityFramework.SqlServer
2番目のプロジェクトでは、問題はなくなります。私のクライアント プロジェクトは ORM の知識を持つべきではないため、これらのアセンブリを参照することは避けたいと考えています。
接続文字列の更新も試みたので、このStackOverflow の質問に記載されているように、ORM プロジェクトのアセンブリ (EDMX ファイルがある場所) を手動で指定していますが、違いはありません。
メタデータ=res://nameOfDll/Model.csdl|res://nameOfDll/Model.ssdl|res://nameOfDll/Model.msl
asp.net-mvc-4 - Autofac 依存関係リゾルバーは、サービスを解決するときにパラメーターに同じ値を渡します
ASP .Net MVC 4 アプリで IoC に Autofac を使用しています。
依存関係を解決するときに、依存関係リゾルバーが異なるパラメーターに同じ値を渡す理由を理解できません。
登録方法は次のとおりです。
これが私が解決している方法ですIContext
:
これが私のものAppContext
です:
このスクリーンショットを見てください。、contextToken
、hostUrl
およびrequest.Url.Authority
の値は異なりますが、すべての値のコンストラクターでAppContext
の値に設定されますcontextToken
。
maven - Groovy/Grape が Maven Central からアーティファクトを解決しないのはなぜですか?
Groovy 2.1.9 を新たにダウンロードして、以下を作成します。
それから私は走ってみます
失敗する
アーティファクトはmaven centralにリストされており、ここからダウンロードできます
価値のあるものとして、さまざまなローカル ファイルが次の場所に作成されます。
~/.groovy/grapes/commons-io/commons-io
デバッグまたは「解決」する方法についてのアイデアをいただければ幸いです。
アップデート
システムに新しいユーザーを作成すると (ホームディレクトリにドットファイルがない場合)、これは機能します。だから私は物事を壊しているいくつかのユーザー固有の設定を持っています. を削除しようとしましたが~/.groovy
、役に立ちませんでした。他に何がありますか?~/.m2
~/.ivy
java - Arquillian Shrinkwrap Resolver を使用する Maven が pom.xml から依存関係を読み取る
ShrinkWrap Dependency Resolver を使用してライブラリを ShrinkWrap アーカイブに追加し、Arquillian テスト用のサーバーにデプロイしようとしています。
次の pom.xml を使用しています。
私のテストは次のようになります。
itextpdf の依存関係を解決しないと、NoDefClass found エラーが発生します。これまでのところ問題ありません。したがって、pom の依存関係エントリからライブラリを追加する必要があります。テストは異なるマシンで実行されているため、pom から取得することが重要です。
ShrinkWrap Resolver 2.0.0 を使用しているときに発生するエラーは次のとおりです。
すべての例外をキャッチしているため、次もスローされます。
これのソースを見つけることができました: https://github.com/shrinkwrap/resolver/blob/master/api/src/main/java/org/jboss/shrinkwrap/resolver/api/ResolverSystemFactory.java
Google で見つかったすべてのソースがシステムが実行中であることを示しているため、なぜこのエラーが発生するのかわかりません。何か案は?
asp.net-mvc-4 - MVC と WebAPI の両方に ninjectdependecyResolver を使用する
MVC 4 Web アプリケーションを作成し、このアプリで Web API を使用することにしました。MVC Web アプリに ninject 依存関係リゾルバーを使用しています。そして今、この ninject 依存関係リゾルバーを Web API に使用したいと考えています。しかし、ここで発生する問題は mvc IDependencyResolver 名前空間です:using System.Web.Mvc
および Web API IDependencyResolver はusing System.Web.Http.Dependencies
どうすればこの問題を解決できますか?
最後に、私はこのようなものが欲しいです:
azure - IoC コンテナーを使用して Azure ワーカー ロールで ASPNET WebAPI を Microsoft.Owin.Host.HttpListener と連携させるにはどうすればよいですか?
次のパッケージが Azure ワーカー ロールにインストールされている場合:
IoC コンテナーを登録しようとしない限り、アプリケーションを動作させることができます。
この行を Startup.cs ファイルに挿入するとすぐに、次のようになります。
次の例外が発生します。
タイプ 'System.Reflection.TargetInvocationException' の未処理の例外が Microsoft.WindowsAzure.ServiceRuntime.dll で発生しました
まったく同じコードをコンソール アプリケーションに配置すると、例外をスローすることなく動作します。これが私の WorkerRole.cs クラスの完全な内容です。
彼女のは、私の Startup.cs クラスの完全なコンテンツです。
次のパッケージで Castle.Windsor を使用しようとすると、同じ問題が発生します。
代わりにこのコード行:
ここで何が間違っているのか、誰かが私に手がかりを与えることができますか? コンソール アプリケーションで完全に動作するため、Azure コンピューティング エミュレーターに問題があると思われますが、それ以上の診断方法はわかりません。
c# - Autofac - HttpContext が利用できないため、要求の有効期間スコープを作成できません - 非同期コードが原因ですか?
短い質問:この未回答の問題と同じ
長い質問:
Autofacを使用していたMVC 4 + Web Apiソリューションから、Autofacを使用しているがWeb Api 2のみを使用している新しいソリューションにいくつかのコードを移植しました(MVC 5.1プロジェクトではなく、Web APIのみ)。
以前のソリューションでは、MVC4 と Web Api があったため、それぞれに 1 つずつ、2 つの Bootstrapper.cs ファイルがありました。新しいプロジェクトの Web Api ブートストラップだけをコピーしました。
現在、新しいソリューションには、依存関係をプルする必要がある 2 つのプロジェクトがあります。DependencyResolver.Current.GetService<T>()
アンチパターンであるにもかかわらず、使用する必要があると仮定しましょう。
最初は、MVC 依存関係リゾルバーを同じコンテナーに設定するまで、これは機能しませんでした:
奇妙な部分は、それらのプロジェクトの 1 つだけで修正されたことです。状況は次のとおりです。
例外は次のとおりです。HttpContext が使用できないため、要求の有効期間スコープを作成できません。
ワークフローのせいにする前に、ワークフローが DependencyResolver をうまく使用できた別のソリューションで、この正確な設定がうまく機能していたことを知っておいてください。したがって、これはAutofacの新しいバージョンの使用と、ワークフローが非同期で実行されるという事実に関係していると思われます(非同期コードに関してリンクした質問と同じように)
InstancePerLifetimeScope()
代わりに使用するすべての登録コードを切り替えてInstancePerHttpRequest()
、スコープを作成しようとしました:
しかし、それは例外を変更しませんでした。コードをさらに分解すると、正確な犯人は次のとおりです。
これを乗り越える必要があり、立ち往生する時間がかかりすぎました。2 日以内に既存の回答に報奨金が与えられます