MVC projelerinde, model binder tarafından oluşturulduğunda modele enjeksiyon hizmetleri eklemek için bağımlılık çözümleyicisini kullanan özel bir varsayılan model bağlayıcıya sahibim. Böylece, modelin içinde denetleyiciden uzak tutarak onaylama yapmak için bir üyelik servisi veya queryable oturumu olabilir.Model ciltleme sırasında Bağımlılığı Enjekte Etme microsoft web api
protected override object CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType)
{
if (modelType.IsGenericType)
return base.CreateModel(controllerContext, bindingContext, modelType);
return _dependencyResolver.GetService(modelType);
}`
Microsoft Web API'sinde bunu yapmanın bir yolu olup olmadığını merak ediyordum? IModelBinder geçersiz kılmak ve arama yapmak için bir CreateModel yöntemi sağlamaz, bunu yapmak için herhangi bir yol göremiyorum.
ModelBinder örneğinize doğru bir hizmet enjekte etmek istiyorsunuz (belki de doğru okumuyorum)? ModelBinder'ınızın yapıcısına enjeksiyon yapmayı denediniz mi? Ayrıca hangi enjeksiyon çerçevesini kullandığınıza bağlı olabilir, bazıları da diğerlerinden daha sınırlıdır. – Igor
Model ciltleyici bir model oluşturduğunda, gereken hizmetleri enjekte etmek istiyorum. UpdateUserModel (Isession session) olduğunu varsayalım. Model binder'in bunu enjekte etmesini istiyorum, böylece oturumu UpdateUserModel.Validate() yönteminde sorgulayabilirim. Çerçeveyi kullanarak binini kullan – Bonnotbh
Sadece biraz arama yaptım ve modelin oluşturulduğu zamanda bunu yapmanın bir yolunu bulamıyorum. – Igor