Ich habe versucht, eine MVM3-Instanz mit einer Protobuf ValueProviderFactory zu erstellen, um den MIME-Typ auszuwählen und die Rohdaten in Objekte für Aktionsparameter zu deserialisieren. Ich könnte das auch verwenden, um den Standard-JSON-Serializer zu ändern.
Wenn man JsonValueProviderFactory.cs
betrachtet, sollte das nicht allzu schwierig sein, aber die Fabriken scheinen alle hart codiert zu sein.
Für Protobuf kann ich vielleicht etwas mit einem IValueProvider machen, aber ich habe noch nicht einmal überprüft, was MVC3 macht, wenn es einen MIME-Typ von application/x-protobuf
erhält.
Gehe ich das richtig?
AKTUALISIEREN
Ich habe diesen Blogpost gefunden, in dem es darum geht, ein IValueProvider
zu erstellen. Es wird dann unten erwähnt, dass sich dies um MCV2 herum geändert hat. Er änderte es in ein ValueProviderFactory
und ruft:
Aber in MVC3 ist diese Eigenschaft schreibgeschützt.
Es stellt sich heraus, dass es nicht schreibgeschützt ist und Sie Provider wie folgt hinzufügen können:
%Vor%Ich hätte das gewusst, hätte ich mich selbst überprüft!
Ich habe heute ein wenig mehr gesucht und dies Blogpost scheint darauf hinzuweisen, dass DependencyResolver
alle Klassen findet, die ValueProviderFactory
erben. Ich benutze MEF für die Auflösung von Abhängigkeiten, sodass ich einfach ein Export-Attribut hinzufügen kann und es wird automatisch ausgewählt.
Ich habe jetzt ein weiteres Problem , das eine benutzerdefinierte ValueProviderFactory für schreibt protobuf-net.
Tags und Links asp.net-mvc asp.net-mvc-3 .net protobuf-net