WCF DataMember-DateTime-Format Serialisieren
Ich habe einen WCF-service, verwendet von JSON als seine RequestFormat und ResponseFormat.
[ServiceContract]
public interface IServiceJSON
{
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
MyClassA echo(MyClassA oMyObject);
}
[DataContract]
public class MyClassA
{
[DataMember]
public string message;
[DataMember]
public List<MyClassB> myList;
public MyClassA()
{
myList = new List<MyClassB>();
}
}
[DataContract]
public class MyClassB
{
[DataMember]
public int myInt;
[DataMember]
public double myDouble;
[DataMember]
public bool myBool;
[DataMember]
public DateTime myDateTime;
}
Den myDateTime-Eigenschaft, Klasse MyClassB ist vom Typ DateTime. Diese wird serialisiert das folgende format: "myDateTime":"/Datum(1329919837509+0100)/"
Den client brauche ich die Kommunikation mit dem nicht umgehen können mit diesem format. Es fordert, dass es eine eher konventionelle Formate wie zum Beispiel: yyyy-MM-dd hh:mm:ss
Ist es irgendwie möglich, dass diese die DataMember-Attribut? Etwa so:
[DataMember format = “yyyy-MM-dd hh:mm:ss”]
public DateTime myDateTime;
Vielen Dank im Voraus!
Hast du eine Lösung finden? Die einzige Art, wie ich es Tat, es war ein Schlamassel workaround, stackoverflow.com/questions/25894068/...
Keine wirkliche Lösung, außer für den workaround beschrieben von tad donaghe unten, das kommt auf das gleiche wie das, was Sie sich beziehen: eine zusätzliche datamember vom Typ string. Vielleicht solltest du Bearbeiten tad ' s Antwort, und fügen Sie Ihr Beispiel auf Vollständigkeit.
Ja, ich habe MS reference code für WCF und Serialisierung und es ist nicht lesbar. Es ist kein Wunder, es scheint, dass Sie schon weggeworfen REST über WCF.
Keine wirkliche Lösung, außer für den workaround beschrieben von tad donaghe unten, das kommt auf das gleiche wie das, was Sie sich beziehen: eine zusätzliche datamember vom Typ string. Vielleicht solltest du Bearbeiten tad ' s Antwort, und fügen Sie Ihr Beispiel auf Vollständigkeit.
Ja, ich habe MS reference code für WCF und Serialisierung und es ist nicht lesbar. Es ist kein Wunder, es scheint, dass Sie schon weggeworfen REST über WCF.
InformationsquelleAutor Brabbeldas | 2012-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum nicht einfach übergeben Sie es als eine bereits formatierte Zeichenfolge?
Ist, nicht übergeben Sie das Datum in Ihrer DataContract als ein Datum. Machen, dass die einen string statt, und das format der Zeichenfolge, die Art, wie Ihr Kunde es will.
Aktualisiert meine Antwort ein wenig.
InformationsquelleAutor Tad Donaghe
Hier ist ein Beispiel für die bereits überprüften Antwort...
Der obigen Klasse definiert zwei Methoden für den Umgang mit der UpdateStartDate. Enthält die nullable DateTime-Eigenschaft, und die andere umwandeln, DateTime? einen string der JSon Antwort von meinem service.
InformationsquelleAutor MonkeyWrench