Я плохо знаком с StructureMap. Я загрузил, и использую версию 2.6.1.0. Я продолжаю добираться ниже ошибки:
Код исключения StructureMap: 202 Никаких Экземпляра по умолчанию не определяются для PluginFamily Company. ProjectCore. Ядро. IConfiguration, Компания. ProjectCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Мой Global.asax.cs похож:
protected void Application_Start(object sender, EventArgs e)
{
var container = new Container(x =>
{
x.For<ICache>().Use<Cache>();
x.For<IEmailService>().Use<EmailService>();
x.For<IUserSession>().Use<UserSession>();
x.For<IRedirector>().Use<Redirector>();
x.For<INavigation>().Use<Navigation>();
});
container.AssertConfigurationIsValid();
}
Я изменился от ObjectFactory. Инициализируйте к "новому Контейнеру" для отладки. При продвижении через AssertConfigurationIsValid () метод, работы Кэша, но EmailService перестали работать в методе GetInstance в следующей строке:
[Pluggable("Default")]
public class EmailService : IEmailService
private readonly IConfiguration _configuration;
public EmailService()
{
_configuration = ObjectFactory.GetInstance<IConfiguration>();
}
Если я удаляю IEmailService, те же 202 ошибки брошены в IUserSession.
Я должен добавлять что-то еще в Application_Start или в моих файлах класса?
Заранее спасибо...
Эта проблема была устранена путем замены ObjectFactory.Initialize
на ObjectFactory.Configure
и добавления сборок в мой проект:
ObjectFactory.Configure(x =>
{
x.Scan(scan =>
{
scan.LookForRegistries();
scan.Assembly("MyAssembly");
scan.Assembly("MyAssembly");
});
});
Где ваша начальная загрузка для конкретного класса IConfiguration?
То есть:
x.For<IConfiguration>().Use<Configuration>();