您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

用.Net的Web服务实现天气预报

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-30 我要参与讨论

 

   该例子演示了利用微软.Net框架的Web服务与天气预报站点的硬件进行数据交换来实现Web天气预报的服务。

    微软力推.Net的目的,用他自己的话来说就是“使人们能够在任何时候、任何地点以及任何设备上通过我们开发的软件发挥最大的潜能”。在这里大多数人可能认为微软所讲的“任何设备”是指袖珍PC、手持设备、台式电脑及笔记本电脑等。下面的例子我们将向大家展示.Net如何使那些电脑硬件设备驱动程序开发人员发挥自己的潜能,这些设备驱动程序可能和一些专用的PC控制器或PC的标准端口直接通讯。这些驱动程序开发人员大多依靠Windows的驱动开发工具包(DDK)及其其他各种工具,如可安装文件系统开发工具包(IFS)等。虽然这些微软的工具包并没有随着.Net的推出而改变,但是.Net构架仍然给这些硬件设备开发带来了新的机遇。
 
  我们将要构造的示例方案的目的就是通过专用的PC卡自动采集来自于不同天气情报采集点的天气信息。PC卡可以通过每个采集点的标识ID来同时控制每个采集点的数据,按要求每个采集点可以提供该点的温度、湿度和气压等数据。
 
  我们的目标是让用户通过互联网(Web)获得指定采集点的天气预报信息。接下来我们开始结构设计。首先需要为PC卡写一个Windows的驱动程序以便PC卡可以读取指定采集点的天气信息,另外我们还需要利用.Net构造一个网络服务(Web Service)以便互联网用户可以通过Internet访问采集到的天气信息数据。

  .Net的托管代码是不能直接访问Windows的内核的。所有我们必须先利用非托管代码写一个用户级(User level)的模块以便网络服务和PC卡的驱动程序之间可以相互交流数据。

  PC卡的驱动程序接口

  假设我们PC采集卡已安装到专用PC上,而且采集点到PC采集开的信号电缆也连接好。接下来的任务就是驱动程序开发人员开始开发硬件驱动程序。

  我们并不打算深入研究如何开发PC卡的硬件驱动程序。其实网上有很多介绍开发驱动程序的工具和资源,也有一些介绍在NT和XP下开发驱动程序差异的文章。我们的主要目的是关心采集数据的封装形式以及用户模块和驱动程序通讯的方法。

  我们准备有下面定义的结构来封装采集到的数据:

  typedef struct {

  unsigned long stationID;

  unsigned long state; // for management purposes

  unsigned long timeStamp;

  double temperature; // celcius

  double humidity; // percent
  
  double airPressure; // millibar

  } WEATHER_DATA, *PWEATHER_DATA;

    从PC卡读取数据我们可以利用Win32 API - DeviceIOControl(...)。为了调用该函数设备驱动程序和用户程序必须共享用户定义的IOCTL码。为了简单起见,我们用WEATHER_DATA结构表示用户程序和驱动程序共享的数据缓冲区。但是在实际应用中,应该小心谨慎,您可以参考微软的技术文章Q126416和Q186775。

  用户要求得到指定的采集点的天气信息的过程如下:

  1.用户程序

[1] [2] [3] [4] [5] [6] 下一页

在google里搜索更多用.Net的Web服务实现天气预报

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明