タグ付けされた質問 「unity-container」

7
主要なC#DI / IoCフレームワークはどのように比較されますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 この質問を改善する 聖戦領域に足を踏み入れるリスクがある場合、これらの一般的なDI / IoCフレームワークの長所と短所は何ですか?..: Ninject ユニティ Castle.Windsor Autofac StructureMap ここに記載していない他のC#のDI / IoCフレームワークはありますか? 私のユースケースのコンテキストでは、クライアントWPFアプリとWCF / SQLサービスインフラストラクチャを構築しています。使いやすさ(特に明確で簡潔な構文に関して)、一貫したドキュメント、優れたコミュニティサポートとパフォーマンスはすべて重要な要素です私の選択で。 更新: 引用されているリソースと重複する質問は古くなっているようですが、これらすべてのフレームワークについての知識を持つ誰かが前に出て、実際の洞察を提供できますか? 私はこのテーマに関するほとんどの意見が偏っている可能性があることを理解していますが、誰かがすべてのこれらのフレームワークを研究するために時間をかけ、少なくとも一般的に客観的な比較を持つことを望んでいます。 これまでに行われていない場合は、自分で調査することをいといませんが、これは少なくとも数人がすでに行っていることだと思いました。 2回目の更新: 複数のDI / IoCコンテナの経験がある場合は、それらの長所と短所をランク付けして要約してください。ありがとうございます。これは、人々が作成したあいまいな小さなコンテナーをすべて発見するための演習ではありません。人気のある(そしてアクティブな)フレームワークの比較を探しています。

7
誰かがMicrosoft Unityを説明できますか?
Unityに関するMSDNの記事(依存性注入、制御の反転)を読んでいますが、簡単な用語(または簡単な例)で説明する必要があると思います。私はMVPCパターンに精通しています(ここではそれを使用しています)が、まだこのUnityのことを本当に理解できていないので、アプリケーション設計の次のステップだと思います。

5
DIコンテナーを介して作成されたオブジェクトを初期化するためのパターンはありますか
Unityにオブジェクトの作成を管理させようとしているのですが、実行時までわからないいくつかの初期化パラメーターが必要です。 現時点で私がそれを行う方法を考えることができる唯一の方法は、インターフェイスにInitメソッドを持つことです。 interface IMyIntf { void Initialize(string runTimeParam); string RunTimeParam { get; } } 次に、それを(Unityで)使用するには、次のようにします。 var IMyIntf = unityContainer.Resolve<IMyIntf>(); IMyIntf.Initialize("somevalue"); このシナリオでは、runTimeParamparamはユーザー入力に基づいて実行時に決定されます。ここでの些細なケースは単にの値を返しますrunTimeParamが、実際にはパラメーターはファイル名のようなものであり、initializeメソッドはファイルに対して何かを行います。 これにより、多くの問題が発生します。つまり、このInitializeメソッドはインターフェースで使用でき、複数回呼び出すことができます。実装にフラグを設定し、を繰り返し呼び出したときに例外をスローするのInitializeは、かなり不格好です。 インターフェイスを解決する時点では、の実装について何も知りたくありませんIMyIntf。しかし、私が欲しいのは、このインターフェースが特定の1回の初期化パラメーターを必要とするという知識です。オブジェクトを作成するときに、何らかの方法でこの情報を使用してインターフェイスに注釈(属性)を付け、それらをフレームワークに渡す方法はありますか? 編集:インターフェースについてもう少し説明しました。

8
Enterprise Library Unityと他のIoCコンテナー[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する Enterprise Library Unityと他のIoCコンテナー(Windsor、Spring.Net、Autofacなど)を使用する場合の長所と短所は何ですか?

9
コントローラーにパラメーターのないパブリックコンストラクターエラーがあることを確認してください
追加のコンストラクターを持つように変更するまで、私はこのチュートリアルを素晴らしく機能しましたDbContext。私は現在、解決策に問題があり、これを修正するために何をすべきかわかりません。パラメータなしのコンストラクタを取得するように強制する簡単な方法はありますか、またはこれに間違ってアプローチしていますか? DbContext 2つのコンストラクター: public class DashboardDbContext : DbContext { public DashboardDbContext() : base("DefaultConnection") { } public DashboardDbContext(DbConnection dbConnection, bool owns) : base(dbConnection, owns) { } } SiteController コンストラクタ: private readonly IDashboardRepository _repo; public SiteController(IDashboardRepository repo) { _repo = repo; } リポジトリ: DashboardDbContext _context; public DashboardRepository(DashboardDbContext context) { _context = context; …

5
NinjectとUnity for DI [終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する ASP.net MVCを使用しています。 どれが最良のDIフレームワークNinjectまたはUnityであり、それはなぜですか?

7
UnityのResolve()メソッドにコンストラクターパラメーターを渡すことはできますか?
依存関係の注入にMicrosoftのUnityを使用しており、次のようなことをしたいと思っています。 IDataContext context = _unityContainer.Resolve<IDataContext>(); var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2); RepositoryAそして、RepositoryBの両方を取るコンストラクタ持っているIDataContextパラメータを、と私はUnityが、私はそれを渡すことをコンテキストにリポジトリを初期化したいです。また、IDataContextがUnityに登録されていないことにも注意してください(の3つのインスタンスは必要ありませんIDataContext)。

11
Unityを使用してASP.NETWebAPIコントローラーに依存関係を挿入できません
IoCコンテナーを使用してASP.NETWebAPIコントローラーに依存関係を注入することに成功した人はいますか?私はそれを機能させることができないようです。 これが私が今していることです。 私の中でglobal.ascx.cs: public static void RegisterRoutes(RouteCollection routes) { // code intentionally omitted } protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); IUnityContainer container = BuildUnityContainer(); System.Web.Http.GlobalConfiguration.Configuration.ServiceResolver.SetResolver( t => { try { return container.Resolve(t); } catch (ResolutionFailedException) { return null; } }, t => { try { return container.ResolveAll(t); } catch …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.