[ASPNET] 詭異的時間轉換失敗,重啟網頁服務可恢復

說實在的,我不知道問題如何發生,上次發生問題剛好就是截圖內的時間,2011/11/10 ,這次發生在 2012/05/16 15:00,大概是半年一次。

話說有同事通知我網頁跳錯誤,我就進 Server 用除錯模式查,一查,第一筆字串 2010/04/10 可以正確轉成時間,第二筆 2012/05/16 15:00 不能轉成時間,一時之間,忘了先前碰過,怎樣測都找不出問題來,想說弄個空白的測試檔,只放時間轉換測看看好了,忽然發現目錄內有保留上次的測試檔,內容只有四行,也就是截圖內的四行:

<%

Response.Write(CDate(“2011/11/10 17:00:00″))

Response.Write(CDate(“2011/11/10 17:00:00″))

%>

是吧?怎樣看都看不出這樣程式碼會有問題:

我想起來上次直接把 w3wp.exe 砍掉,讓 IIS 服務重新產生一個新的即可,砍之前還看了一下,w3wp.exe 只使用了 74 MB 記憶體。

砍完後重新執行測試網頁及原先網頁就正常了。

我是懷疑可能是執行緒的地區語言特性那個資料出問題,造成有些時間字串可以轉時間變數,有些時間字串會卡住,總之,留個紀錄,持續觀察。

Categories: 工作點滴, 決策支援系統 | Tags: , | 5 則迴響

文章導覽

5 thoughts on “[ASPNET] 詭異的時間轉換失敗,重啟網頁服務可恢復

  1. Alex Lee

    是因為手誤還是?
    我把那四行copy到VS 時發現
    雙引號是全形 ….

    喜歡

    • 那是因為這個 livespace 轉換過來的 wordpress 空間會強制轉換引號,我是滿幹的…
      原始碼是沒問題的,w3wp.exe kill process 後重整就能跑,顯然程式碼沒有問題。

      喜歡

      • Alex Lee

        那還真神奇….
        不知道如果是透過DateTime,TryParse 會不會回傳false

        喜歡

  2. 關於在VB.Net中使用CDate方法,我個人有些看法,您參考看看。有些中文字串在用CDate方法轉型成日期時間物件時(即時字串內不含中文也一樣),會發生例外(轉型失敗),這好像是VB.Net中的CDate方法中有臭虫,最保險的方法是New一個Date物件,在它的建構時傳入要建立的日期和時間,這是我試過BugFree的方法。

    喜歡

  3. 通告: [ASPNET] 詭異的時間格式錯誤,重啟網頁服務可恢復 | 鄭子璉

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: