Çeşitli kullanıcı arabirimi uygulamalarının eklediği merkezi bir StructureMap yapılandırmasına sahibim. Sadece ona ek olarak "çekirdek" konfigürasyonunu değiştirme ihtiyacım olmadı. Belirli bir uygulama için çekirdek yapılandırmasını değiştirmem/kaldırmam gereken bir örneğe rastladım. Tabii ki çekirdek konfigürasyon kodunu farklı bir uygulamaya taşıyabilirim ama bunu yapmadan önce StructureMap API ile belirgin bir şey eksik olmadığından emin olmak istedim. Aşağıda benim çekirdek yapılandırmasının kısaltılmış versiyonudur: Ben IValidationRule
kapanış türleri için yapılandırmayı kaldırmak ister ama canlı bir şey ile gelip henüz olurdu bu bir uygulama için Çalışma zamanındaÖnceden yapılandırılmış bir StructureMap yapılandırmasını nasıl değiştirebilirim?
ObjectFactory.Initialize(cfg =>
{
cfg.Scan(scan =>
{
scan.Assembly("Core");
scan.WithDefaultConventions();
scan.ConnectImplementationsToTypesClosing(typeof(IValidationRule<>));
// more after this....
}
}
. Çıkartma yöntemlerinin tümü, tektonların etrafında ortalanıyor gibi görünüyor. Ben bir singleton ile uğraşan değilim beri şu çalışmaz: Ben IValidationRule
s için görünmüyor benim StructureMap yapılandırmasını değiştirebilir bir yol
ObjectFactory.Model.For(typeof(IValidationRule<>)).EjectAndRemoveAll(); //no work
ObjectFactory.Model.EjectAndRemove(typeof(IValidationRule<>)); //nor does this
var mı? Tekli olmayan örnekleri IValidationRule
s çıkarabilir miyim? StructureMap yapılandırmamı değiştirmek için başka seçeneklerim var mı?
ObjectFactory'nin kullanımdan kaldırıldığı StructureMap3'te bu gibi bir şey mümkün mü? – rexdefuror