• 天气插件的替换


      以前在网页中加入过天气的插件,但朋友一直说,为何这一个多月以来,天天的天气怎么都一样的?而且跟实际网上查找到的天气信息不一样。于是我个人就想,是否服务器不能联网更新?但朋友说绝可以,而且还是在服务器上直接打开天气网,发现所以城市的数据根本与网页上的不一致。起初我不太相信,因为数据是从天气网下载下来的。然后每二个小时自动更新一次。于是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>

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

  • 相关阅读:
    C# 获取指定目录下所有文件信息、移动目录、拷贝目录
    土地利用数据库地图自动缩编软件--地图缩编
    全国不动产登记交流
    [记录]好用的文件上传插件webuploader
    Petapoco Update在使用匿名对象修改时提示“给定关键字不在字典中”
    解决在MySQL使用PetaPoco T4生成数据的实体时得到当前MySQL数据库下所有表的错误方法
    [知识积累]MySQL外键约束条件
    Js判断QQ在线状态不准确的解决办法
    稍带迷茫的秋日小记
    假如你有个idea,你将怎么去实现它?
  • 原文地址:https://www.cnblogs.com/Geton/p/3662730.html
Copyright © 2020-2023  润新知