监控宝Windows Phone 7客户端

    监控宝是国内出产的一个非常优秀的服务器监控服务,它支持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来获取服务器的状态信息。

Jiankongbao 1

对于使用该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.  
  9.     XElement xmlAllStatus = XElement.Parse(e.Result);
  10.     Console.Write(xmlAllStatus.Value);
  11.  
  12.     StatusList.ItemsSource = from task in xmlAllStatus.Elements("task")
  13.                              select new TaskStatus
  14.                              {
  15.                                  ID=task.Element("task_id").Value,
  16.                                  Name = task.Element("task_name").Value,
  17.                                  Summary=task.Element("task_summary").Value,
  18.                                  Type=task.Element("task_type").Value,
  19.                                  CreateTime=task.Element("task_create_time").Value,
  20.                                  Frequency=task.Element("frequency").Value,
  21.                                  LastResponseTime=task.Element("last_resp_time").Value,
  22.                                  LastResponseResult=task.Element("last_resp_result").Value,
  23.                                  LastResponseStatus=task.Element("last_resp_status").Value,
  24.                                  CheckTime=task.Element("last_check_time").Value,
  25.                                  Tag = task.Element("task_id").Value + "," + task.Element("task_name").Value
  26.                              };
  27.  
  28. }

2。 当然,除了查看当前的系统状态之外,它还能查看状态曲线,以便你了解服务器的响应变化。目前Windows Phone 7的SDK中还没有折线图控件,这里我使用了别人根据Silverlight Toolkit移植过来的控件。当然,如果你愿意还有一些其他控件可以使用:

Jiankongbao 2

对源代码感兴趣的朋友,请前往论坛中下载:http://bbs.wpmind.com/thread-267-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows Phone是由微软推出的移动操作系统,它提供了丰富的开发工具和教程,使开发者可以轻松地创建各种类型的应用程序。下面是Windows Phone开发教程的一些步骤: 1. 准备开发环境:首先,你需要安装Windows Phone SDK,并且拥有一台运行Windows 8或更高版本的电脑。然后,你需要注册一个开发者账户,这样你就可以在Windows Phone商店中发布你的应用程序了。 2. 学习开发语言:Windows Phone应用程序主要使用C#语言进行开发,因此你需要熟悉C#语言的基本语法和特性。同时,你也需要了解XAML标记语言,用于设计应用程序的用户界面。 3. 使用Visual Studio开发工具:Windows Phone开发主要使用Visual Studio作为集成开发环境,它提供了丰富的工具和模板,帮助你创建各种类型的应用程序,包括游戏、商务应用和社交应用等。 4. 学习应用程序的生命周期:你需要了解Windows Phone应用程序的生命周期和事件模型,以便正确地处理应用程序的启动、挂起和恢复等状态。 5. 学习应用程序的数据存储和互联网连接:在开发Windows Phone应用程序时,你可能需要将数据保存到本地数据库或者通过网络连接获取数据,因此你需要学习使用本地存储和网络连接的相关知识。 总之,学习Windows Phone开发需要你掌握C#语言和XAML标记语言,熟悉Visual Studio开发工具,并且了解应用程序的生命周期和数据存储等知识。通过不断的实践和学习,你可以成为一名优秀的Windows Phone开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值