StructureMap 2.6.1 не может переопределить регистрации по умолчанию - PullRequest
1 голос
/ 24 февраля 2012

Для MVC3, StructureMap 2.6.1

Базовые регистрации / использование в App1

For<IMyRepository<MyRequest, MyResponse>>().Use<MyRepository>();
public class MyRepository : IMyRepository<MyRequest,MyResponse>
var foo = ObjectFactory.GetInstance<IMyRepository<MyRequest, MyResponse>>();

Возвращает MyRepository, как и ожидалось ..., переопределение App2попытка

ПРИМЕЧАНИЕ: App2 регистрируется после того, как App1

public class MyOverriddenRepository : MyRepository
For<IMyRepository<MyRequest, MyResponse>>().Use<MyOverriddenRepository>();
var overriddenFoo = ObjectFactory.GetInstance<IMyRepository<MyRequest, MyResponse>>();

overriddenFoo имеет тип MyRepository, а не MyOverriddenRepository, почему ??
пробовалтакое же переопределение в App1 и Foo возвращает MyOverriddenRepository

WhatDoIhave в приложении 1

IMyRepository`2<MyRequest, MyResponse> (IMyRepository`2<MyRequest, MyResponse>)     
408858...  Configured Instance of MyOverriddenRepository, ...
Scoped as:  Transient
20ebeb...  Configured Instance of MyRepository, ...
976143...  Configured Instance of MyRepository, ...
408858...  Configured Instance of MyOverriddenRepository, ...

WhatDoIhave в приложении 2

IMyRepository`2<MyRequest, MyResponse> (IMyRepository`2<MyRequest, MyResponse>)     
976143...  Configured Instance of MyRepository, ...
Scoped as:  Transient
976143...  Configured Instance of MyRepository, ...
408858...  Configured Instance of MyOverriddenRepository, ...

Какой способ дальнейшей диагностики?Пытаетесь увидеть, если ошибка структуры карты или моя?

...