2014年3月22日
摘要: 由于工作需要,需要自动执行一系列任务,任务里面有很多步骤,其内部的逻辑不可控,原本的任务为线程实现,未实现超时机制,因为一个任务的总体超时时间不好设定,但是一个步骤一般运行不超过10分钟,任务执行失败会抛异常给任务执行线程,代表执行出错,但是这里有一个问题,步骤如果执行长时任务有可能会因为某种原因一直等待,所以不但任务要线程实现,步骤也要线程实现,并且实现步骤线程捕获了异常抛给任务线程大致结构如下:任务1 步骤1 步骤2 ……任务2任务3…… 下方是个简单的Demo,线程一模拟任务线程,线程二模拟步骤线程,实现的时候遇到了麻烦,捕获异常时线程二方法内部并没有跑抛异常给线程一去处理,而是... 阅读全文
posted @ 2014-03-22 18:43 harrell 阅读(855) 评论(0) 推荐(0) 编辑
  2014年3月20日
摘要: 控制台、WinForm程序可以用以下方法做全局捕获AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { var error = (Exception)e.ExceptionObject; Console.WriteLin... 阅读全文
posted @ 2014-03-20 23:01 harrell 阅读(174) 评论(0) 推荐(0) 编辑
  2014年3月18日
摘要: using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Net;namespace FTPHelper{ /// /// FTP帮助类 /// public class FTPHelper { #region 字段 private string ftpURI; private string ftpPort; private string ftpUserID; pr... 阅读全文
posted @ 2014-03-18 22:20 harrell 阅读(284) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.Windows.Forms;using System.Drawing;namespace STools{ class ListViewColumnSorter : IComparer { /**/ /// /// 指定按照哪个列排序 /// private int Colu... 阅读全文
posted @ 2014-03-18 21:57 harrell 阅读(576) 评论(0) 推荐(0) 编辑
摘要: http://download.microsoft.com/download/f/6/4/f648c363-6975-470c-8202-ac5aea706109/WindowsXP-KB835935-SP2-CHS.exeXP 多国语言包Microsoft® Windows XP Multilingual User Interface Pack Windows XP多国语言包ISO这是一个微软发布的多国语言包,包括所有菜单、对话框等等的语言包。喜欢尝试多语言系统的朋友就不用重新安装了XP。请先安装英文的WINDOWS XP,然后打上语方包即可!各CD包函的语言包,具体语言地区请观看 阅读全文
posted @ 2014-03-18 21:46 harrell 阅读(12690) 评论(0) 推荐(0) 编辑
摘要: 委托 和 事件在 .Net Framework中的应用非常广泛。 委托( Delegate ):是一种定义方法签名(只有方法的名字,没有方法体),可以与具有兼容的签名的任何方法关联。所谓兼容的方法,是指 这个方法和委托的方法签名具有相同的返回类型和参数。它和C或C++中的函数指针十分类似,或者说委托是高级的函数指针。它具有两大特点:面向对象,类型安全和可靠的。下面通过委托实现数据同步更新在需要操作的窗体中写入以下关键代码: //定义委托 public delegate void DelegateTest(string ms); //定义委托对象 public DelegateTest ... 阅读全文
posted @ 2014-03-18 21:45 harrell 阅读(490) 评论(0) 推荐(0) 编辑
  2014年3月5日
摘要: 使用javascript的history.back()进行返回时,有时会提示“网页已过期”,多数是因为目标页面的form为post提交方式,而且是表单已经提交后的响应页面,无法找到form中的具体参数,而“报错”,具体解决办法:一、在要返回的目标页面中,添加二、将目标页面的form的method="post"去掉,或改为method="get"。【转】http://sfc235300.iteye.com/blog/773187 阅读全文
posted @ 2014-03-05 21:11 harrell 阅读(1459) 评论(0) 推荐(0) 编辑
摘要: 用DateTime.Now.DayOfWeek.ToString()获取星期几是英文,总是还要用个Switch语句去判断,甚至专门写个函数,用下方的一条语句直接搞定System.DateTime.Today.ToString("dddd", new System.Globalization.CultureInfo("zh-CN")); 阅读全文
posted @ 2014-03-05 21:00 harrell 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 有时需要多次弹出一个窗体,但是窗体较为复杂弹出缓慢,下方的单例模式实现则较好的解决了这个问题,好处是窗体是静态的,仅构造一次,第二次弹出的时候相对比较快实现方法如下: 1 using System; 2 using System.Windows.Forms; 3 4 namespace SingleFormDemo 5 { 6 public partial class PopForm : Form 7 { 8 private PopForm() 9 {10 InitializeComponent();11 ... 阅读全文
posted @ 2014-03-05 20:51 harrell 阅读(917) 评论(0) 推荐(0) 编辑