Ich habe eine Anwendung erstellt, die einen WCF-Dienst über webHttpBinding mit webBehavior zur Verfügung stellt.
Funktioniert grundlegend auch:
C#-Quelltext
1: 2: 3:
| [OperationContract] [WebGet(UriTemplate = "/serverdate/", ResponseFormat = WebMessageFormat.Xml)] DateTime GetServerDate(); |
Aber ich habe Methoden mit nicht standardmäßig unterstützten Datenttypen:
int? und
List<double> sowie
List<MyObject>. z. B.:
C#-Quelltext
1: 2: 3:
| [OperationContract] [WebGet(UriTemplate = "/SendValues?instrumentId={instrumentId}&channelId={channelId}&sequenceId={sequenceId}&transferedValues={transferedValues}", ResponseFormat = WebMessageFormat.Xml)] bool SendValues(int instrumentId, int channelId, int? sequenceId, List<MyObject> transferedValues); |
-> der ServiceHost lässt sich nicht starten.
Ich habe aber
gelesen, dass man die QueryStringConverter-Klasse ableiten und erweitern kann.
Aber ich finde nirgendwo eine Anleitung
wie das genau geht und wie ich dem Framework sagen kann, dass er meinen QueryStringConverter und nicht den Standard-QueryStringConverter für das Parameterbinding/-zuordnung verwenden soll.
Ich möchte eigentlich darauf verzichten, diese Datentypen anders z. B. als serialisierten Strings zu übergeben, da ich den Dienst gleichzeitig noch mit wsHttpBinding Hosten möchte, wobei Datentypen zulässig sind.
Habt ihr Erfahrungen damit?
Ich würde mich über Hinweise oder andere Vorschläge freuen.
Grüße, Peter