2009-10-19 122 views
0

是否可以在ASP.NET(最好是VB.NET)中檢索請求的日期/時間?檢索http請求的日期/時間

我試過HttpContext.Current.Request.Headers.Get("date"),但它什麼也沒有返回(null)。

+0

當前請求可能在DateDate.Now?或者我錯過了什麼? – Espo 2009-10-19 13:00:38

回答

1

那麼,DateTime.Now將在大多數情況下完成這項工作。如果你想知道客戶端機器上的日期和時間,可以通過添加/減去客戶機的時區偏移量來近似。

+0

是否有可能爲http請求獲取唯一的ID?也許我可以做這個工作 – craig 2009-10-19 13:10:08

+0

@craig:你想做什麼? 'Guid.NewGuid()'非常獨特。 – 2009-10-19 13:21:34

2

根據w3c HTTP請求中沒有「Date」標頭(但HTTP響應中有一個),所以只能確定ASP.NET何時收到特殊請求,而不是何時發送。如果您需要接收HTTP請求的時間,您可以使用DateTime.Now,但是如何以最佳方式做到這一點,只有在您將描述您的任務時才能回答更多細節。

+0

我正在創建一個sql記錄器,基本上有一個請求進來,任何SQL查詢都保存到數據庫中的表。但是,我需要以某種方式將每個請求的sql查詢分組(因爲可能有很多)。我想我可以得到請求的日期/時間,並且每次比較一下這個請求是否是新的請求。或者,如果我可以得到request.id?這將是明智的。 – craig 2009-10-19 13:30:24

+0

您可以爲每個請求使用Guid.NewGuid()方法(如上所述)。只需在數據庫表中添加一個類型爲「uniqueidentifier」的字段並將其保存爲請求標識符。 – Restuta 2009-10-19 14:53:08

0

那麼,HttpContext.Current.Timestamp聲稱做到這一點。但是,當它抓住時間戳時,我不是100%。