• 天气插件的替换


      以前在网页中加入过天气的插件,但朋友一直说,为何这一个多月以来,天天的天气怎么都一样的?而且跟实际网上查找到的天气信息不一样。于是我个人就想,是否服务器不能联网更新?但朋友说绝可以,而且还是在服务器上直接打开天气网,发现所以城市的数据根本与网页上的不一致。起初我不太相信,因为数据是从天气网下载下来的。然后每二个小时自动更新一次。于是QQ连过去一看,最新的数据更新是2014.3.4。于是网上一查,发现是天气网停止维护了此数据。想到此,不禁唉的一声,原因你懂得,于是我就跟朋友说,这功能只能取消了。但朋友明显不高兴,说这一功能一直有用,突然不能用了,用户不接受。没办法,只能原本把地址链接过去。但这样一来,每个用户都必须要有上网的权限。这样也不太现实,不知道现在各位采用的方案是? 在此与大家分享一下主要的代码。看各位是否有更好的建议?

    原先的方案

     public static string getWeather()
            {
                string path = HttpContext.Current.Server.MapPath("~/weather.txt");
                DateTime now = DateTime.Now;
                DateTime lastUpdTime = DateTime.Now;
                if (File.Exists(path))
                {
                    lastUpdTime= File.GetLastWriteTime(path);
                }
                else
                {
                    File.Create(path);
                }
                if (now.Subtract(lastUpdTime).Minutes > 120) 

                {
                    string UrlString = "http://m.weather.com.cn/data/101280301.html"

                    string contents = "";
                    WebRequest Wrequest = WebRequest.Create(UrlString);
                    Wrequest.Credentials = CredentialCache.DefaultCredentials;
                    HttpWebResponse Wresponse = (HttpWebResponse)Wrequest.GetResponse();
                    Stream responseStream = Wresponse.GetResponseStream();
                    StreamReader reader = new StreamReader(responseStream);
                    contents = reader.ReadToEnd();
                    reader.Close();
                    responseStream.Close();
                    Wresponse.Close();
                    File.WriteAllText(path, contents);

                }
                return File.ReadAllText(path);
            }

    然后把文件内容发送给前台: this.Page.RegisterClientScriptBlock("data", "<script> var jsData=" + getWeather()+ "</script>");

    现在的方案只能是在前台直接引用

     <iframe id="weather" frameborder="0"  src="http://m.weather.com.cn/m/pn11/weather.htm" height="60" width="500" ></iframe>

    但这样要求每个客户端都要上网,这显然与要求不一致,请问各位现在有什么好办法呢?

  • 相关阅读:
    Ubuntu 各版本代号简介
    Ubuntu如何同步网络时间
    Ubuntu下修改DNS重启也能用的方法
    provider networks和self-service networks
    openstack 架构
    系统故障排除
    系统日志管理
    系统引导
    网络管理
    Linux下开启FTP服务
  • 原文地址:https://www.cnblogs.com/Geton/p/3662730.html
Copyright © 2020-2023  润新知