Ich bin Aktualisierung ein Projekt von mir AutoMapper 4.2, zu verwenden, und ich laufe in brechen Änderungen. Während ich scheine gelöst zu haben, sagte Veränderungen, ich bin nicht ganz überzeugt, ich habe in der am besten geeigneten Art und Weise erfolgen, so. Im alten Code habe ich eine NinjectConfiguration
und eine AutoMapperConfiguration
Klasse, die jeweils von WebActivator geladen werden. In der neuen Version fällt die AutoMapperConfiguration
und ich Instanz stattdessen ein MapperConfiguration
direkt in der NinjectConfiguration
Klasse, wo die Bindungen geschehen, etwa so:AutoMapper 4.2 und Ninject 3.2
private static void RegisterServices(
IKernel kernel) {
var profiles = AssemblyHelper.GetTypesInheriting<Profile>(Assembly.Load("???.Mappings")).Select(Activator.CreateInstance).Cast<Profile>();
var config = new MapperConfiguration(
c => {
foreach (var profile in profiles) {
c.AddProfile(profile);
}
});
kernel.Bind<MapperConfiguration>().ToMethod(
c =>
config).InSingletonScope();
kernel.Bind<IMapper>().ToMethod(
c =>
config.CreateMapper()).InRequestScope();
RegisterModules(kernel);
}
Also, das ist der richtige Weg AutoMapper 4.2 mit Ninject der Bindung? Es scheint so weit zu funktionieren, aber ich will nur sichergehen.
Also lieber als 'InRequestScope()' sollte es 'InSingletonScope()'? Sonst sind die Bindungen ok? – Gup3rSuR4c
@ Alex Leider vergessen Codebeispiel hinzugefügt es. –
Großartig, das hat mein Problem gelöst. –