摘要:
这两天用c# 写了一个自动登入网页的小工具。使用的是发送webrequest的方式。首先,使用抓包工具fiddler抓取登入页面时发送的request。通过抓包工具,能够获取登入页面时发送的请求,包括以下内容:request urlrequest ContentTyperequest cookierequest contentTyperequest userAgentrequest methodpost data 等,在代码中用以上数据实例化一个HttpWebRequest对象,再把request发送出去即可。下面是代码 string url = "https://10.1.1.1: 阅读全文
摘要:
通常项目需要支持多种类型的数据库,比如MySql, Oracle11g, SqlServer. 在代码中封装数据的的时候,一般使用工厂模式, 根据配置文件中的DBType创建数据库。首先,数据库配置文件中需要配置以下内容: MySql55 localhost testdb root test2012其次,根据配置文件内容,创建数据库连接串,不同数据库的connectionString 有所不同, 所以需要用各自的方法建立各自的字符串: public static string CreateConnectionString(DBType dbType, string dbHost, s... 阅读全文
摘要:
下面一段文字从别处引用:BeginInvoke方法用于启动异步调用。它与需要异步执行的方法具有相同的参数。此外,它还有两个可选参数。第一个参数是一个AsyncCallback委托,该委托引用在异步调用完成时要调用的方法。第二个参数是一个用户定义的对象,该对象可向回调方法传递数据。BeginInvoke立即返回,不会等待异步调用完成,被调用的方法将在线程池线程中执行。因此,提交请求的原始线程与执行异步方法的线程池线程是并行执行的。BeginInvoke会返回一个IAsyncResult对象,可以使用该对象来监视异步调用进度,也可将该对象传递给EndInvoke方法,以获取异步执行的方法的返回值。 阅读全文
摘要:
在委托与事件(一)中,学习了委托和事件的使用,用的是委托的同步调用。有时候委托绑定的方法执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库,这时为了提高效率通常使用异步调用。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。在之前的猫和老鼠例子中,修改cat类中的CatShout的调用方式,即可实现异步调用。namespace PracticeCsharp{ class Cat { private string name; public Cat(string na... 阅读全文
摘要:
一直觉得委托与事件很神秘,看了好几次书,一直在明白、糊涂两种状态中来回颠倒。其实一直没搞明白几个问题: 1. 为什么要用为委托与事件?(delegage, event) 2.什么时候用委托与事件? 3.委托与事件一定是同时出现吗?若不是,什么时候用委托与事件,什么时候只用委托? 4. 怎么使用委托与事件? 在《大话设计模式》这本书中,通过一个猫和老鼠的例子来说明委托与事件。有一只猫叫Tom,还有两只老鼠分别叫jerry 和jack, Tom只要叫一声“喵,我是Tom”, 两只老鼠就说“老猫来了,为了实现这个场景,我们设计两个类,分别是Mouse 和Cat, 两个类... 阅读全文