Cuando publico un objeto json con una propiedad de fecha en un ApiController no se deserializará en una fecha.Publicación de DateTime en un ApiController en ASP MVC 4 (Beta)
código del sitioServidor:
public class MegaTestController : ApiController
{
// POST /megatest
public void Post(ttt value)
{
string sdf = "!sad";
}
}
public class ttt
{
public DateTime Date { get; set; }
public string Name { get; set; }
}
Entonces hago una petición POST con el violinista
POSTAL http://localhost:62990/MegaTest HTTP/1.1
User-Agent: El violinista
host: localhost : 62990
Content-Type: text/JSON
Content-Length: 54
{ "fecha": "/ Fecha (1239018869048) /", "Nombre": "Amigo" }
Pero el objeto que entra sólo tiene el conjunto Name
propiedad, la propiedad es Date
{01.01.0001 00:00:00}
estoy pasando por alto cualquier encabezado o configuración del proyecto?
Editar: Las solicitudes son en realidad proviene de una HttpClient
. ¿Es posible formatear la fecha antes de enviar la solicitud con HttpClient
?
public Task<T> Create<T>(T item)
{
var service = new HttpClient();
service.BaseAddress = new Uri("http://localhost:62990");
var method = typeof(T).Name + "s"; // in this case it will be ttts
var req = new HttpRequestMessage<T>(item);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("text/json");
return service.PostAsync(method, req.Content).ContinueWith((reslutTask) =>
{
return reslutTask.Result.Content.ReadAsAsync<T>();
}).Unwrap();
}
var data = new ttt { Name = "Dude", Date = DateTime.Now };
Create(data);
Editar: Este es un problema conocido con el ASP MVC 4 Beta y la versión final del ASP MVC 4 utilizará Json.net como un serializador JSON hasta entonces se puede usar el serializador XML por defecto o cambie el serializador Json predeterminado para Json.net. Más información se puede encontrar en hanselman blog
http://stackoverflow.com/questions/206384/how-to-format-a-json-date – tugberk