2017-02-28 12 views
0

私は、ASP.NET 4、MVC Webアプリケーションで動的コンストラクタパラメータを使用してクラスを解決したいと考えています。私はUnity v4.0.1を使用しています。 Resolveのサービスのコンストラクタに渡される値は、以下のようにリクエストごとに異なる必要があります。Unityコンテナが動的パラメータで解決する

var obj = new MyObject(); 
container.RegisterType<IMyService, MyService>(
      new PerRequestLifetimeManager(), 
      new InjectionConstructor(obj)); 

どうすればよいですか?

答えて

1

hereの助けを借りて、以下のように達成できました。

public MyService(MyObject obj){ 
    //do something here 
} 
として MyServiceのコンストラクタを持っていることを確認してください私の Global.asax.cs

protected void Application_BeginRequest() 
{ 
    var obj = new MyObject(); 

    container 
     .Resolve<IMyService>(
      new ParameterOverrides 
       { 
        {"obj", obj}, 
       }.OnType<MyService>() 
     ); 
} 

container.RegisterType<IMyService, MyService>(new PerRequestLifetimeManager()); 

としての私のタイプを登録します

関連する問題