c# update check
public class UpdateChecker {
public static event EventHandler completeCheck;
private static bool isChecking = false;
private static WebClient wc;
public static void doUpdateCheck() {
if (isChecking) return;
isChecking = true ;
wc = new WebClient();
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri("https://files.cnblogs.com/files/wgscd/appupdate.xml"));
}
private static void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
// MessageBox.Show(""+e.Result ,"update",MessageBoxButton.YesNo);
XmlDocument doc = new XmlDocument();
doc.LoadXml("" + e.Result);
string localVar="3.8";//test
string serverVer = doc.SelectSingleNode("app").Attributes["version"].Value;
string serverDate = doc.SelectSingleNode("app").Attributes["update_date"].Value;
string tip = doc.SelectSingleNode("app/tip").InnerText;
if (localVar.CompareTo (serverVer)<0) {
MessageBox.Show("the new version: " + serverVer + "\r\n " + tip + " \r\n update?\r\n", "update", MessageBoxButton.YesNo);
}
if (completeCheck != null) { completeCheck(sender, e); }
isChecking = false;
}
catch { }
wc.DownloadStringCompleted -= new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
}
}
c# update check的更多相关文章
- 项目中使用了个quartz包,启动时提示Quartz version update check failed
<span style="font-family: Arial, Helvetica, sans-serif;">2015-09-13 00:12:02 Abstrac ...
- Progit Update Check Page
######### ######### #########
- 提示 npm update check failed
执行npm命令时出现以下提示 虽然不影响代码运行,但总觉得看了很碍事, 查找资料后发现是因为文件夹权限的问题, .config / configstore文件夹中包含一个文件:update-notif ...
- ASP.Net MVC 5 in Xamarin Studio 5.2
Xamarin Studio 是一个Mono的跨平台 IDE(Integrated Development Environment),支持Wiindow和Mac,最新发布的5.2 版本支持ASP.NE ...
- ListView只更新某个item
方案1:针对需要更新的item调用public View getView(int position, View convertView, ViewGroup parent)即可.如: public c ...
- App开发流程之使用分类(Category)和忽略编译警告(Warning)
Category使得开发过程中,减少了继承的使用,避免子类层级的膨胀.合理使用,可以在不侵入原类代码的基础上,写出漂亮的扩展内容.我更习惯称之为"分类". Category和Ext ...
- 回到过去美好的时光——源代码版本管理Always Use source code Control
Don't Repeat Yourself Don't Repeat Yourself,这是程序员修炼之道中的经典名言.源代码版本管理对程序员来说是非常重要的工作.因为它让你能够回到过去,而不用做重复 ...
- Rootkit Hunter恶意程序查杀
恶意程序,恶意代码检测 下载:https://pkgs.org/search/rkhunter 安装:rpm -ivh rkunter* Installed: #需要先安装 lsof.x86_64 ...
- Fiddler源代码分享
frmViewer.cs: namespace Fiddler{ using Microsoft.Win32; using System; using System.Collecti ...
随机推荐
- 为什么你用不好Numpy的random函数?
为什么你用不好Numpy的random函数? 在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面我们一起来汇总学 ...
- MaxScript与外部程序通讯
最近项目要求通过java给max发送任务指令,max接收指令执行任务,并且返回执行的结果.不管为什么会有这样的需求,有就要去实现. 1.OLE开启 Max本身提供了一个方式,它可以将自己注册成一个Ol ...
- sql语句查找某一列的值得最大值。
记录一下:sql语句查找某一列的值得最大值. 1.例如我要查找 表A中a列的最大值: 查找语句可以这么写: "select Max(a) a from A" 2.查找表A中a列中包 ...
- Charles抓取https请求
最近公司将Windows产品的http请求,替换成https请求了,当https请求超过5次失败,就自动切换回http请求.测试时使用Charles抓包测试. 一.http抓包 http抓包比较简单, ...
- Python笔记(十):正则表达式
正则表达式对比工具 https://pan.baidu.com/s/1XIPyF1vFSj5PACPx9zW8_g (一) 正则表达式符号和特殊字符 符号 说明 示例 | 或 re1|re2 ...
- ChatOps如何变革企业业务
[编者按]本文作者为日志分析软件公司 Logz.io 的联合创始人 Tomer Levy,主要介绍 ChatOps 的特点与发展历程,以及将来可能带来的业务变革.文章系国内 ITOM 管理平台 One ...
- Cordova 8 架构使用sqlite - 谢厂节的博客 - 博客频道 - CSDN.NET - Google Chrome
Cordova 8 架构使用sqlite 标签: androidcordova 2015-07-16 16:41 4302人阅读 评论(0) 收藏 举报 分类: IONIC/Cordova(18) ...
- Oracle EBS INV 挑库发放物料搬运单
create or replace PROCEDURE XX_TRANSACT_MO_LINE AS -- Common Declarations l_api_version NUMBER := 1. ...
- css继承属性与非继承属性
一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shad ...
- 正确计算linux系统内存使用率
参考:https://blog.gesha.net/archives/406/ 图中的例子很典型,就是:多数的linux系统在free命令后会发现free(剩余)的内存很少,而自己又没有开过多的程序或 ...