縱觀全局與MSN開發相關的.Net庫,DotMSN是最好的了。
但是DotMSN有些時候總是出點亂七八糟的錯誤,一下針對其中的一些問題提出一些解決方案。
第一、掉線
大概30-50分鐘DotMSN基本上會掉線一次,由於發生時間不等,而且間隔較長,所以調試非常困難。我嘗試不斷向另一個MSN帳號發送消息,例如發送的當前時間,過了2個小時依然沒有掉線。為此我特意提供一個解決方案就是向另一個private的MSN帳號不斷發送時間信息。
第二、NullPointerException
在新建會話->邀請其他人->發送信息,DotMSN發送信息的通常流程就是這樣的了,但是通常會在發送信息的時候出現NullPointerException,但是當我們查看的時候所有對象對實例化了,這個問題非常隱蔽。後來我嘗試在發送信息之前停一段時間,例如加入這段代碼: System.Threading.Thread.Sleep ( 1 * 1000 ); 即等待一秒,問題立即解決這個煩人的Exception沒有再出現過。初步估計是由於DotMSN的作者沒有將某些方法寫好,例如登陸方法是不阻塞的,通過事件來返回登陸的結果,在某種程度上說是好事,但是在創建SwitchBoard的過程中就沒有相應的事件描述創建完成,導致我們調用的時候SwitchBoard還沒有初始化完,即為Null所以出錯。為此我提供的解決方案是稍微停頓一下,至於停多長時間呢?我還沒有正式測試過。