2011-11-05 11 views
5

Estoy usando C# ASP.NET 4. Por lo que puedo decir, el objeto HttpWebRequest no está utilizando el formato definido por RFC2616 para el encabezado Fecha. ¿Hay alguna forma de decirle a una clase DateTime cómo quiero que se formatee la representación de la cadena, o hay una forma de establecer el encabezado de la fecha en una cadena? Lo que estoy viendo es: "05/11/2011 1:55:15 PM". La cadena de formato de fecha y hora correcta para las solicitudes HTTP es: @ "ddd, dd MMM aaaa HH: mm: ss G \ MT".HttpWebRequest Formato de encabezado de fecha

He intentado esto, arrojó y error.

Request.Headers.Set("Date", DateTime.UtcNow.ToString("ddd, dd MMM yyyy HH:mm:ss G\\MT")); 

Actualización: Doh! Tonto de mí. Estaba usando el objeto Date e incluso intenté forzar el hilo que quería. Afortunadamente eso solo me lleva a probar otra cosa.

Request.Headers.Get("Date") 

Dejaré esta pregunta para aquellos que puedan toparse con este tonto problema que hice. Habilidades de pensamiento crítico ... Me siento como una droga. >: |

+0

Ver https://connect.microsoft.com/VisualStudio/feedback/details/475082/http-date-request-header-is-not-sent-by-httpwebrequest –

+1

Sé de eso, pero tengo la impresión de que se aplica a .NET <4. Puedo establecer el encabezado de fecha manualmente en DateTime.UtcNow en .NET 4. Además, en caso de que alguien se pregunte cómo llegué a estresarme tan mucho sobre el encabezado Fecha, es porque estoy trabajando con AWS y parte de la Autorización implica el uso del encabezado Fecha. – Vreenak

Respuesta

0

Use esto para obtener la representación de la cadena.

Request.Headers.Get("Date")