事情是這樣的 長話短說 因為覺得或許有幫助
就在這留個記錄。
原先我的winform程式 會在每次啟動時post資料到server網頁端做驗證
經過一段時間壓力測試、修修改改也都趨於正常。
最近一段時間卻頻繁發生驗證無法通過 接收的資料都是空的狀況。
不是逾時的問題, 我timeout時間都拉10秒以上。
今天發現原來是使用的HttpWebRequest, 突然不能用於這段post驗證。
後來改用WebRequest 就正常了。
其實邏輯統統一樣, 所以我也只改了一個class宣告罷了。
原因為何? 老實說不知道發生原因。
但是看了Catch的訊息 推測是雙方協定不對等, 造成post沒反應,
連http code都不會取得。
至於為何協定突然不對等, 可能原因有很多, 微軟本身的更新、server端的更新、
網路端機制的更新等等等。
結論的話... 覺得有些class還是要慎用, 盡量採用基底class,
少用新潮的class, 維護上比較不易出狀況。
另外 經常對class能處理的程度要時常抱持懷疑心,
像datetime其實非常容易受到使用者環境影響,
右下角時間格式設定的改動可能會造成錯誤。
CurltureInfo判斷語系也是, 是非常不受信任的機制,
簡體語系也能判斷成繁體語系, 很容易造成表面上的誤判。
真心覺得微軟對這方面的防呆要多加強。