2011-11-05 30 views
5

Tôi đang sử dụng C# ASP.NET 4. Cho đến khi tôi có thể nói, đối tượng HttpWebRequest không sử dụng định dạng được xác định bởi RFC2616 cho tiêu đề Ngày. Có cách nào để nói cho một lớp DateTime làm thế nào tôi muốn biểu diễn chuỗi được định dạng, hoặc là có một cách để thiết lập các tiêu đề ngày để một chuỗi? Những gì tôi thấy là: "11/5/2011 1:55:15 PM". Chuỗi định dạng DateTime chính xác cho các yêu cầu HTTP là: @ "ddd, dd MMM yyyy HH: mm: ss G \ MT".HttpWebRequest Date Header Format

Tôi đã thử điều này, Nó đã ném và lỗi.

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

Cập nhật: Doh! Tôi ngớ ngẩn quá. Tôi đã sử dụng đối tượng Date và thậm chí đã cố gắng buộc chuỗi tôi muốn. Rất may là chỉ dẫn tôi đến thử cái gì khác.

Request.Headers.Get("Date") 

Tôi sẽ để lại câu hỏi này cho những người có thể gặp phải vấn đề ngớ ngẩn này. Kỹ năng tư duy phê phán ... Tôi cảm thấy mình giống như một dope. >: |

+0

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

+1

Tôi biết về điều đó, nhưng theo ấn tượng rằng nó áp dụng cho .NET <4. Tôi có thể đặt tiêu đề Ngày theo cách thủ công thành DateTime.UtcNow in .NET 4. Ngoài ra, trong trường hợp bất cứ ai đang tự hỏi làm thế nào tôi thậm chí đã đến căng thẳng như vậy nhiều về tiêu đề Ngày, đó là vì tôi đang làm việc với AWS và một phần của Ủy quyền liên quan đến việc sử dụng tiêu đề Ngày tháng. – Vreenak

Trả lời

0

Sử dụng thay vào đó để lấy biểu diễn chuỗi.

Request.Headers.Get("Date")