重提URL Rewrite(4):不同级别URL Rewrite的一些细节与特点
摘要:赵劼 / CC BY 2.5 在之前的文章里我们已经谈论了有关URL Rewrite的几个主要的方面。在本系列的最后一篇文章中,我们就来讨论一下有关不同级别URL Rewrite的一些细节与特点。 理论上说,IIS级别的URL Rewrite使用C或C++编写,比使用托管代码编写的ASP.NET级别URL Rewrite性能要高。但是我认为这方面的差距在大部分情况下可以忽略不计,这种性能几乎不...
阅读全文
posted @
2009-08-28 13:51
瞌睡虫
阅读(162)
推荐(0)
重提URL Rewrite(3):在URL Rewrite后保持PostBack地址
摘要:赵劼 / CC BY 2.5 在进行了URL Rewrite之后,经常会遇到的问题就是页面中PostBack的目标地址并非客户端请求的地址,而是URL Rewrite之后的地址。以上一篇文章中的重写为例:<rewriter> <rewrite url="^/User/(\d+)$" to="~/User.aspx?id=$1" processing="stop" /> &...
阅读全文
posted @
2009-08-28 13:50
瞌睡虫
阅读(195)
推荐(0)
重提URL Rewrite(2):使用已有组件进行URL Rewrite
摘要:赵劼 / CC BY 2.5 可能已经没有人会使用上一篇文章中的方法进行URL Rewrite了,因为提供URL Rewrite的组件早已铺天盖地了。 ASP.NET级别的URL Rewrite组件的原理很简单,其实只是监听BeginRequest事件,并且根据配置来决定目标URL。在我之前接触过的项目中,发现使用URLRewriter作为URL Rewrite组件的频率非常高,我想可能是因为...
阅读全文
posted @
2009-08-28 13:48
瞌睡虫
阅读(174)
推荐(0)
重提URL Rewrite(1):IIS与ASP.NET
摘要:赵劼 / CC BY 2.5 之前觉得这个话题已经被谈滥了。URL Rewrite早已经被广大开发人员所接受,网上关于URL Rewrite的组件和文章也层出不穷,但是总是让我感觉意犹未尽,于是最终还是忍不住提笔写了这系列文章。这些文章不会谈论URL Rewrite的价值与意义,而只会谈论纯技术的内容。文章中也不会有详尽地实现分析,而是结合了我的经验,从应用角度来讲解这个话题。您已经知道的,您还...
阅读全文
posted @
2009-08-28 13:46
瞌睡虫
阅读(181)
推荐(0)
(转)c#获取简体汉字的笔画数
摘要:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using ...
阅读全文
posted @
2009-07-30 16:12
瞌睡虫
阅读(685)
推荐(0)
C#使用WebConfigurationManager类修改Web.config文件
摘要:在ASP.NET2.0里不但进一步扩展了配置文件web.config,更为重要的是系统提供了一组API函数,让我们可以以编程的方式从配置文件里提取信息 首先,先看看如果从web.config里提取appSettings里的配置值,示例代码如下:<appSettings> <add key="pagetitle" value="http://blog.netbei.com/Job ...
阅读全文
posted @
2009-07-10 14:54
瞌睡虫
阅读(1582)
推荐(0)
Monitor的用法
摘要:Monitor类 Monitor类通过向单个线程授予对象锁来控制对对象的访问。对象锁提供限制访问临界区的能力。当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。 通过对lock关键字的分析我们知道,lock就是对Monitor的Enter和Exit的...
阅读全文
posted @
2009-06-24 17:36
瞌睡虫
阅读(702)
推荐(0)
C#线程锁(下)
摘要:前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的锁定方式等,做为对线程同步系列的完善和补充。1.几种同步方法的区别lock和Monitor是.NET用一个特殊结构实现的,Monitor对象是完全托管的、...
阅读全文
posted @
2009-06-24 11:24
瞌睡虫
阅读(250)
推荐(0)
C#线程锁(中)
摘要:本篇继续介绍WaitHandler类及其子类Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先...
阅读全文
posted @
2009-06-24 11:22
瞌睡虫
阅读(369)
推荐(1)
多线程编程中的锁定(Mutex)
摘要:mutex 与监视器类似;它防止多个线程在某一时间同时执行某个代码块。事实上,名称“mutex”是术语“互相排斥 (mutually exclusive)”的简写形式。然而与监视器不同的是,mutex 可以用来使跨进程的线程同步。mutex 由 Mutex 类表示。 当用于进程间同步时,mutex 称为“命名 mutex”,因...
阅读全文
posted @
2009-06-22 19:22
瞌睡虫
阅读(248)
推荐(0)
C#线程锁(上)
摘要:本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希 望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图:1.lock关键字lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其...
阅读全文
posted @
2009-06-22 18:01
瞌睡虫
阅读(252)
推荐(0)
微软提供的.Net线程池以及跨线程同步示例
摘要:.Net线程池示例:public class Fibonacci{ public Fibonacci(int n, ManualResetEvent doneEvent) { _n = n; _doneEvent = doneEvent; } // Wrapper method for use with thread pool. public void ThreadPoolCallback(Obj...
阅读全文
posted @
2009-06-22 16:48
瞌睡虫
阅读(231)
推荐(0)
asp.net中关于静态变量的生命周期和线程安全
摘要:本来我理解的静态变量的生命周期是 void Application_Start开始 void Application_End结束的,本来这就是对的今天要做一个全局的应用,想确认一下,在网上一找,我的天,说什么的都有大概分三种1.Application_Start——Application_End2.Session_Start——Session_End...
阅读全文
posted @
2009-06-03 19:43
瞌睡虫
阅读(469)
推荐(0)
DataReader处理多个结果集
摘要:不同于结果集内的Read(),在结果集之间处理应使用NextResult()方法
阅读全文
posted @
2009-05-12 18:00
瞌睡虫
阅读(168)
推荐(0)
C#获取存储过程的Return返回值和Output输出参数值
摘要:C#获取存储过程的Return返回值和Output输出参数值1.获取Return返回值程序代码//存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["...
阅读全文
posted @
2009-05-11 18:02
瞌睡虫
阅读(251)
推荐(0)
WebRequest的使用
摘要:1:利用System.Net.WebRequest的Create方法创建WebRequest对象: System.Net.WebRequest ObjWebRequest =System.Net.WebRequest.Create(urlP); 异常类型: NotSupportedException :requestUri 中指定的请求方案未注册。 ArgumentNullExceptio...
阅读全文
posted @
2009-05-07 09:14
瞌睡虫
阅读(717)
推荐(0)
C#泛型字典类比较
摘要:Dictionary、SortedDictionary与 SortedList是.NET Framework的三个泛型的关键字查找的类,都属于System.Collections.Generic命名空间。它们无论是名字还是功能都十分相似,以至于实际运用的时候我们会经常混淆。因此有必要比较一下它们。 1. 实现 查阅 MSDN 得到如下资料: Dictionary泛型类提供了从一组键到一组...
阅读全文
posted @
2009-05-05 20:16
瞌睡虫
阅读(3269)
推荐(0)
C#集合类总结
摘要:我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,如果我们操纵的数据类型相对确定的化 用Dictionary 集合类来存储数据就方便多了,例如我们需要在电子商务网站中存储用户的购物车信息(商品名,对应的商品个数)时,完全可以用 Dicti...
阅读全文
posted @
2009-05-04 17:57
瞌睡虫
阅读(357)
推荐(0)
Net编程接口剖析系列之比较和排序
摘要:我们知道,与C++相比较,C#以及整个.Net并不支持多继承,而相应的,C#支持了接口,并且支持一个类型实现多个接口。对于接口的概念,相信大部分读者已经有了很好的了解,而我这里谈谈个人对于接口理解,只求抛砖引玉。 在我认为,一个接口就是一个对类型的某种能力的认证,并且是以某种标准化的形式将这种能力规范出来。你的类型实现了某个接口,换而言之,也就是说这个类型具备了此接口所标识的能力。比如现在出国留学...
阅读全文
posted @
2009-05-04 17:55
瞌睡虫
阅读(254)
推荐(0)
C#序列化和反序列化
摘要:序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 我想最主要的作用有: 1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据 ...... 在C#中常见的序列化的方法主要也有三个:Binary...
阅读全文
posted @
2009-05-04 17:24
瞌睡虫
阅读(222)
推荐(0)