是個龐大的系統。MS那麼多專家工程師們的智慧成果。 但龐大的背後。始終難免有不足的地方。
咱們一起來給他找錯或者說是挑刺吧。就用目前用的最多的.Net2.0開始吧。歡迎同行朋友們補充和批評...
- 2.0提供的System.Net.Mail.SmtpClIEnt類。提供發送需要認證的郵件功能。但其SMTP登陸認證和21CN的SMTP登陸認證不兼容。無法登陸21CN。但FOXMAIL可以。抓包分析下就明了。MS和21CN誰對誰錯呢?
.Net發送數據包
AUTH login **********
334 VXNlcm5hbWU6
********
334 UGFzc3dvcmQ6
Foxmail發送的數據包
AUTH LOGIN
334 VXNlcm5hbWU6
*********
334 UGFzc3dvcmQ6
*********
- System.Windows.Forms.RichTextBox類。是Window窗體常用的文本框。用其實例的Text屬性賦值。或讀取值。這裡要注意。此文本框無法接受"\r"(即回車字符)。如果賦值有包含回車換行("\r\n")數據的。回車符號。會被自動過濾掉。一定要小心哦。有次我再調試正則表達式。調試N久沒成功。就是這個微軟的疏忽(當然MS有他的理由。可是再這個類詳細介紹中我竟然沒看到他的提示)
- System.Net.HttpWebRequest類。及其派生或調用其的類(如WebClIEnt)。都繼承他的兩點不足。
1):當用它連接Php網站並上傳數據時。PHP網站無法得到其上傳的數據。原因是此類上傳數據的方法,不同於IE的POST上傳數據。IE是把HTTP頭和POST的數據一起傳送的。PHP接受後就能獲取到上傳的數據。HttpWebRequest類是先發送頭,然後等待回應後再發送POST數據包。PHP第一次接受頭信息後就以為接收完了。然後就再也無法得到上傳的數據。IE,HttpWebRequest,PHP誰是誰非呢?
2):HttpWebRequest類發送頭信息中,尤其是CookIE數據中不能包含中文。這也許是標准的做法。但為什麼IE可以,HttpWebRequest就不可以呢。很多中文網站都不標准。但我又需要去訪問這些不標准網站。可是HttpWebRequest類的Headers(WebHeaderCollection)殘忍的給了我一個異常。
那你為什麼不把IE也如此這般。IE和HttpWebRequest待遇不同啊。沒辦法只好自己寫一個HttpClIEnt類來實現。