3層の単純なmvcアプリケーションがあります
- Ui => Common And Services への参照があります
- 一般
- Services => Common への参照があります
共通レイヤーでサービス コントラクトを定義し、それをサービス レイヤーで実装します
//Common layer
public interface IPersonService
{
void Foo();
}
//Services layer
public classPersonService:IPersonService
{
void Foo()
{
//To DO
}
}
私の Global.asax では、最初の Structuremap コンテナー用にこのコードを記述します。
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
}
今、私のコントローラーで、このように IPersonService からインスタンスを取得したいとき
var personService= ObjectFactory.GetInstance<IPersonService>();
このエラーが発生します
デフォルトのインスタンスは登録されておらず、タイプ '*.IPersonService' に対して自動的に決定できません
この問題を解決するためのアイデアはありますか?