摘要:IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式。两者区别大家可以参考下,根据实际情况选用。经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于IIS6.0下的Web应用程序迁移到IIS7.0中只要将应用程序配置成经典模式,代码基本不用修改就可以正...
阅读全文
摘要:转载改博客http://www.cnblogs.com/LiZhiW/p/3550455.html#_Toc4363
阅读全文
摘要:在最初学习一些编程语言、一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性、关注它的理论支持,这种学习技术的方式是短平快。其实工作中有时候也是这样,公司要推崇一个新技术、一个解决方案,我们总是短平快的去学习如何使用它,按照固定的解决问题思路按着案例进行,这也是一种应对项目紧急的一些措施。 个人感觉如果有空闲时间的话,还是分析一下、理解一下、深入了解一下比较好,这些技术是如何交互的、这些技术的理论支持什么、为什么要用这项技术、这项技术的优缺点怎样?这也是一个从实践到理论再到实践的过程,或许会发现新的视野、新的收获。 本篇针对.NET下的Web开发
阅读全文
摘要:一、 获得证书... 21、 从CA获得... 22、 从windows2003证书服务中获得... 23、 使用makecert工具获得... 2二、 证书的保存... 21、 保存在证书存储区... 22、 以文件形式保存... 42.1. 带有私钥的证书... 42.2. 二进制编码的证书... 42.3. Base64编码的证书... 43、 存储区中的证书跟证书文件相互转换... 43.1. 使用工具相互转换... 43.1.1 从证书文件导入证书存储区... 43.1.2 从证书存储区导出为证书文件... 73.2. 使用代码相互转换... 103.2.1 从证书文件导入证书存储区
阅读全文
摘要:一、 使用证书结合对称加密算法加、解密长数据上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”。也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据。这就引出一个问题,超过128字节(或者说超过117字节)的数据怎么加密?有个办法,就是把数据明文拆分为合适大小的数据块之后逐块加密,解密时逐块的解密再拼接。事实上,DES(包括TripleDES)算法采用的就是这个办
阅读全文
摘要:一、 使用RSA证书加、解密敏感数据X.509证书标准支持三种不对称加密算法:RSA, DSA, Diffie-Hellman algorithms。最常用的是RSA算法。所以本文就以前面章节使用makecert工具生成的生成的MyTestCert证书进行加密解密,这个证书具有RSA算法1024位的密钥对。Figure 12. RSA加密解密过程1、 生成证书、分发证书证书使用前面“使用makecert工具获得”章节生成的MyTestCert,当然也可以是从商业CA获得的证书。你获得的证书应该是含有公钥和私钥的完整证书,一般是pfx形式的证书。要接收加密数据,需要把你的公钥分发给加密数据的加密
阅读全文
摘要:using System;namespace Backend{ public class RegistryStorage { public static PageVisibility OpenAfterStart() { Microsoft.Win32.RegistryKey registryKey; PageVisibility visibility = PageVisibility.Visible; // HKCU\Software\RegeditStorage registryKey = Microsoft.Win32...
阅读全文
摘要:Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?下面是个人写下的总结如下,有不对的地方,请各位指正:1.Cache 是怎么样工作的? Cache 是分配在服务器上的一个公共的内存片。 所谓公共指的cache只要一创建是任何一个客户端浏览器都可以通过后台代码访问到它,它面向的是所有用户,相对而言session也是服务器上的一 段内存,但他面向的是单个用户。它是服务器的一段内存块,也就是说每个cache一经创建就占用了服务器资源的。所以从这点来说我们就可以说:并不是 cache越多越好。 ...
阅读全文
摘要:目录本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自
阅读全文
摘要:反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。 有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道。 反射的用途: (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。 (2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。 (3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如puli...
阅读全文
摘要:“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。Lambda表达式(输入参数)X=>X*X(表达式或者语句块:这里是表达式)该Lambda表达式的含义就是左边输入参数的值为右边X*X表达式的值可以将此表达式分配给委托类型,如下所示:delegate int del
阅读全文
摘要:我曾经遇到一个项目,项目里面需要经常对一系列的同类型集合进行操作,如对集合进行增加元素,删除集合的指定索引的元素等等. 我们可以使用ArrayList来进行.如1 ArrayList stringList=new ArrayList();2 stringList.Add("大家好");3 stringList.Add("你们好");4 stringList.Add("同志们好");5 string str1=(string)stringList[0];//取出一个元素后,需要转换一次类型才可以或者是1 ArrayList intLis
阅读全文
摘要:本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。 其中委托的BeginInvoke方法以及回调函数最为常用。 而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合理使用I/O线程在通讯项目或文件下载时,能尽量降低IIS的压力。 并行编程是Framework4.0中极力推广的异步操作方式,更值得更深入地学习。 希望本篇文章能对各位的学习研究有所帮助,当中有所错漏的地方敬请点
阅读全文
摘要:本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。 其中委托的BeginInvoke方法以及回调函数最为常用。 而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合理使用I/O线程在通讯项目或文件下载时,能尽可能地减少IIS的压力。 并行编程是Framework4.0中极力推广的异步操作方式,更值得更深入地学习。 希望本篇文章能对各位的学习研究有所帮助,当中有所错漏的地方敬
阅读全文
摘要:1、如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差。而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能。这样无论有多少人访问都只访问一次数据库,数据库压力不变。2、为了保证从缓存中读取数据和数据库中数据一致,则需要在数据库中对应的数据发生变化的时候,清除缓存中相应的数据(缓存依赖)。3、缓存是改进网站性能的第一个手段,Asp.Net缓存主要分为:页面缓存(中庸)、数据源缓存(最不灵活的)、数据缓存(灵活)这三种主要类型。页面缓存给aspx页面添加<%@ OutputCache Duration=“15” Va
阅读全文
摘要:我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念:TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用。http协议在应用层运行。 02,传输层(Tanspot):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而TCP提供传输保证。 03,网络层(Netwok):网络层协议由一系列协议组成,包括ICMP、IGMP、RIP、OSPF、IP(v4,v6)等。 04,链路层(Link):又称为物理数据网络接口层,...
阅读全文
摘要:本篇将介绍Join操作符的使用,Join操作符类似于SQL命令中的join关键字,都是用于进行表连接操作的,实现多个表之间的查询处理,当然此处的多表也包含自身与自身的连接。 Join操作符的使用包括三类,分别为Join(Join查询),SelectMany(Select一对多选择)和GroupJoin(分组Join查询)。1、SelectMany SelectMany查询需要满足两个条件,1、查询语句中没有Join和into关键字,2、必须出现EntitySet。在表关系中包括一对一、一对多、多对多关系。(1)一对多关系 一对多的关系可以理解成一个A对应多个B,例如一个班级对应多个学...
阅读全文
摘要:本篇将介绍五个聚集函数的使用,分别是Count、Sum、Min、Max、Avg,这些函数的使用和我们在SQL命令中的使用场景是一样的,都是用于统计数据,求个数,求和,求最小值,求最大值,求平均数。1、Count函数 Count函数的作用是获得集合中元素的个数,返回值类型是int类型,转换成SQL语句如下?1SELECT COUNT(*) FROM TABLENAME Count函数的使用方式也包括两种,分别是无参形式和有参形式。 (1)无参形式 使用无参形式我们可以获得集合中所有对象的数量,例如:?1int count = db.Students.Count(); 上面语句将获得...
阅读全文
摘要:上篇学习了Where操作,今天再来看看Select操作如何使用,和上篇一样,本篇仍是以实例为主来。 Select作用我们从字面意思就可以知道,就是查询,和在SQL命令中的Select一样,区别在于使用位置不同,Linq中的Select必须写在语句的最后,而在SQL名字中select确是在开始处。 Select操作可以细分成9种使用形式,分别是简单形式、匿名类型形式、条件形式、自定义类型形式、筛选形式、整形类型形式、嵌套类型形式、本地方法调用形式、Distinct形式。1、简单形式 例如:获取所有学生的姓名?12var names = from student in db.Stude...
阅读全文
摘要:从年前一直在做一个项目,所有没有时间来看书学习,最近终于有点空闲时间了,就想认真学习下在项目中用到的Linq to SQL。在做项目的过程中觉得Linq很是神奇,语法简单、直观,对于我这个SQL语句不是特别精通的菜鸟来说帮助甚大,所以就抽时间来好好学习学习Linq的精妙。 今天学习的内容是Where的使用,主要是通过例子来展示。 Linq中的Where与SQL命令中的Where很类似,都是起到了过滤的作用,Where后面紧接判定条件子句。 Where操作包括三种形式,分别为简单形式、关系条件形式、First()形式。一、简单形式 我将简单形式理解为单一条件的Where语句,即在条件...
阅读全文