.NET Model Binders

Ich habe versucht, einen benutzerdefinierten Modellordner in meinem ASP.NET MVC 4-Projekt zu erstellen. Aber ich bleibe bei IModelBinder-Iterfaces. Es gibtdrei IModelBinder-Schnittstellen können VS finden. In folgenden Namensräumen.

using System.Web.Http.ModelBinding;
using System.Web.Mvc;
using System.Web.ModelBinding;


bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);
bool BindModel(ModelBindingExecutionContext modelBindingExecutionContext, ModelBindingContext bindingContext);

Alle verwandten Klassen mögenModelBindingContext, ModelMetadata und andere werden auch dupliziert. Ich und mein Freund können nicht herausfinden, was der Zweck einer solchen schrecklichen Code-Vervielfältigung ist. Warum haben Microsoft-Entwickler keine allgemeinen Klassen in eine gemeinsam genutzte Assembly extrahiert? Wie ich verstehe, wird eine Schnittstelle in MVC, eine in Web-API verwendet und was ist der Zweck der dritten Version? Sind diese Schnittstellen unabhängig oder irgendwie miteinander verbunden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage