저는 Unity를 배우고 매우 간단한 웹 API 솔루션을 만듭니다.모델 클래스에서 유니티 의존성을 해결할 수 없습니다.
public interface IClass1
{
string GetItem();
}
public class Class1 : IClass1
{
public string GetItem() {
return "hello";
}
}
다음 나는 유니티는 IOC의 작업을 수행하는 데 사용하는 등 :
var container = new UnityContainer();
container.RegisterInstance<IClass1>(new Class1());
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
내가
[Dependency]
public IClass1 Class1Instance { get; set; }
[HttpGet]
[Route("Hello")]
public IHttpActionResult PutData()
{
return Ok(Class1Instance.GetItem());
}
그러나 경우 컨트롤러에 의존성을 얻으려면 위의 코드는 잘 작동
Model 클래스, 즉 Base 클래스에서 같은 작업을하려고합니다 .... 해결할 수 없습니다 ....
public class Base
{
[Dependency]
public IClass1 ClassInstance { get; set; }
public string Name { get; set; }
public string GetVal()
{
return ClassInstance.GetItem(); // ClassInstance is null
}
}
은 내가 모델 클래스에 해결 의존성을 얻으려면
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
JObject jobject = new JObject();
object target;
if (jobject.Property("Name") != null)
target = new Base(); // Here is the problem root cause ??
serializer.Populate(jobject.CreateReader(), target);
return target;
}
어떻게 내 문제를 해결하기 위해 .... 어쩌면 문제는 jsonConverter에서입니다 .... 그것에 대해 아무 생각이 없다?
감사합니다.
왜 jsonconverter와 관련이 있다고 생각합니까? – CodingYoshi
난 그냥 모델 클래스에 대한 의존성을 해결할 수없는 이유를 모르겠다. – allencharp
@ CodingYoshi의 질문을 확장하려면 왜 jsonConverter라고 생각합니까? jsonConverter를 해결하는 것과 관련된 예외를 얻었습니까? 문제의 범위를 좁히는 데 도움이되는 예외 세부 정보를 제공해 주실 수 있습니까? –