監控寶Windows Phone 7用戶端

來源:互聯網
上載者:User

監控寶是國內出產的一個非 常優秀的伺服器監控服務,它支援HTTP、Ping、DNS、FTP、SMTP、POP、IMAP、TCP等,還使用SNMP協議監控伺服器效能和容量, 支援各種伺服器,包括Linux、Windows、BSD、Mac、 Solaris、AIX等,而且也支援服務層監控,包括Apache、Lighttpd、Nginx、MySQL。WPMind自然也使用了這一服務來時刻監控著網 站的服務狀態,以便能夠更好的為廣大讀者服務。

在5月22日的第五屆MobileDev Day上我給大家示範了一個基於Windows Phone 7的監控寶用戶端,您可以使用它在您的Windows Phone 7手機上(當然。。。請耐心等待最少半年,現在只能使用模擬器)來監控您的伺服器的運行狀態。該程式使用了監控寶所提供的API來 擷取伺服器的狀態資訊。

對於使用該API,我們只需要注意兩個關鍵點就行了。

1。 就是伺服器資料的擷取,我們將採用WebClient對象來進行非同步資料的擷取。對於WebClient對象的試用,在Windows Phone 7平台上我們只能使用非同步載入的方式,同樣WebService在Windows Phone 7平台上也只能非同步載入。我們還需要注意,在這裡我們訪問監控寶的API還需要使用基本驗證。相關程式碼片段如下:

基本身份認證:

Code Snippet
  1. wc = new WebClient();
  2. string username = GetUserName();
  3. string password = GetPassword();
  4. string usernamePassword = username + “:” + password;
  5. wc.Credentials = new NetworkCredential(username, password);
  6. wc.Headers["Authorization"] = “Basic “ + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(usernamePassword));

對於非同步載入擷取的資料,我們通過XML to Linq直接綁定到介面的列表中:

Code Snippet
  1. void wcRefreshAll_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
  2. {
  3. if (e.Error != null)
  4. {
  5. MessageBox.Show(e.Error.Message, “Error”, MessageBoxButton.OK);
  6. return;
  7. }
  8. XElement xmlAllStatus = XElement.Parse(e.Result);
  9. Console.Write(xmlAllStatus.Value);
  10. StatusList.ItemsSource = from task in xmlAllStatus.Elements(“task”)
  11. select new TaskStatus
  12. {
  13. ID=task.Element(“task_id”).Value,
  14. Name = task.Element(“task_name”).Value,
  15. Summary=task.Element(“task_summary”).Value,
  16. Type=task.Element(“task_type”).Value,
  17. CreateTime=task.Element(“task_create_time”).Value,
  18. Frequency=task.Element(“frequency”).Value,
  19. LastResponseTime=task.Element(“last_resp_time”).Value,
  20. LastResponseResult=task.Element(“last_resp_result”).Value,
  21. LastResponseStatus=task.Element(“last_resp_status”).Value,
  22. CheckTime=task.Element(“last_check_time”).Value,
  23. Tag = task.Element(“task_id”).Value + “,” + task.Element(“task_name”).Value
  24. };
  25. }

2。 當然,除了查看當前的系統狀態之外,它還能查看狀態曲線,以便你瞭解伺服器的響應變化。目前Windows Phone 7的SDK中還沒有折線圖控制項,這裡我使用了別人根據Silverlight Toolkit移植過來的控制項。當然,如果你願意還有一些其他控制項可以使用:

對原始碼感興趣的朋友,請前往論壇中下載:http://bbs.wpmind.com/thread-267-1-1.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.