<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_天堂的狼</title><subtitle type="text">更好的生活，来自不懈的努力与拼搏，不要仅仅看中结果，拼搏的过程同样是精彩的！</subtitle><id>http://feed.cnblogs.com/blog/u/17419/rss</id><updated>2011-09-30T06:16:37Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/17419/rss"/><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/09/30/2196517.html</id><title type="text">解决The method onClick(View) of type new View.OnClickListener(){} must override a superclass错误</title><summary type="text">Android开发时，报错：( Button ) findViewById( R.id.btnChangeView ).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { //Do sth. } } );上述代码报错如下- implements android.view.View.OnClickListener.onClick- The method onClick(View) of type new View....</summary><published>2011-09-30T06:17:00Z</published><updated>2011-09-30T06:17:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/30/2196517.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/30/2196517.html"/><content type="html">&lt;p&gt;&lt;div&gt;&amp;nbsp;Android开发时，报错：&lt;/div&gt;&lt;p&gt;&lt;font  color="#666666" face="Arial"&gt;&lt;span  style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;( Button ) findViewById( R.id.btnChangeView )&lt;/span&gt;&lt;/font&gt;&lt;span  style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; line-height: normal; "&gt;.setOnClickListener( new OnClickListener()&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space:pre"&gt;	&lt;/span&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space:pre"&gt;	&lt;/span&gt;public void onClick(View v)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space:pre"&gt;	&lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space:pre"&gt;		//Do sth.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space:pre"&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space:pre"&gt;	&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span style="white-space: pre; "&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} );&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="color: #666666; font-family: Arial; line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span  style="font-family: verdana, 'courier new'; line-height: 21px; color: #000000; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xinyuxin912/tt2.JPG" width="519" height="75" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: #666666; font-family: Arial; line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;/p&gt;&lt;/p&gt;&lt;p style="color: #666666; font-family: Arial; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; line-height: normal; "&gt;上述代码报错如下&lt;/p&gt;&lt;p style="color: #666666; font-family: Arial; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; line-height: normal; "&gt;- implements android.view.View.OnClickListener.onClick&lt;br style="line-height: normal; " /&gt;- The method onClick(View) of type new View.OnClickListener(){} must override a superclass&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;解决方法：&lt;div style="display: inline-block; "&gt;&lt;/div&gt;&lt;span  style="color: #666666; font-family: Arial; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; line-height: normal; "&gt;项目属性----&amp;gt;javaCompiler中的complier compliance level 将1.5改为1.6。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;原因jdk版本问题。&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xinyuxin912/tt.JPG" width="632" height="600" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2196517.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/30/2196517.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/09/27/2193037.html</id><title type="text">[转]视频格式分类</title><summary type="text">在计算机软硬件技术和宽带互联网技术迅猛发展的同时，各种影像视频的录制和后期制作技术也得到了突飞猛进的发展。传统的影像视频(如.AVI和.MPEG格式等)一般体积较大且清晰度较差，比如在电脑中播放的VCD格式。然而现在，同样一段影像视频，不仅体积可以比原来减小数倍，而且让人犹如身临其境的超高清晰度更是让我们不得不感叹和感谢日新月异的科技给我们的生活所带来的实惠！现实还远不仅如此，咱平常老百姓借助宽带互联网技术和一种被叫做“流式媒体(StreamingVideo)”的多媒体技术可以非常方便快捷查阅自己任何需要的影像视频资料并且用户甚至不需要下载整部或整段视频就可以对视频资料的任意指定片段进行预览！</summary><published>2011-09-27T05:13:00Z</published><updated>2011-09-27T05:13:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/27/2193037.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/27/2193037.html"/><content type="html">&lt;span  style="font-family: tahoma, 宋体; font-size: 12px; line-height: 18px; "&gt;在计算机软硬件技术和宽带互联网技术迅猛发展的同时，各种影像视频的录制和后期制作技术也得到了突飞猛进的发展。传统的影像视频(如.AVI和.MPEG格式等)一般体积较大且清晰度较差，比如在电脑中播放的VCD格式。然而现在，同样一段影像视频，不仅体积可以比原来减小数倍，而且让人犹如身临其境的超高清晰度更是让我们不得不感叹和感谢日新月异的科技给我们的生活所带来的实惠！现实还远不仅如此，咱平常老百姓借助宽带互联网技术和一种被叫做&amp;#8220;流式媒体(Streaming&amp;nbsp;Video)&amp;#8221;的多媒体技术可以非常方便快捷查阅自己任何需要的影像视频资料并且用户甚至不需要下载整部或整段视频就可以对视频资料的任意指定片段进行预览！&amp;nbsp;&lt;br /&gt;&lt;br /&gt;　　影像视频的发展和变化我们可以从两方面进行分析：影像视频的超高清晰度当然是视频录制设备不断更新换代的结果，而影像视频体积的大幅减小和像流水一样的视频文件传输性能则得益于视频压缩技术和视频编辑处理技术的不断创新和改进，这种视频技术的创新和改进在宏观上的表现就是视频格式。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;　　目前，视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类，这里非常值得一提的是：尽管后者在播放的稳定性和播放画面质量上可能没有前者优秀，但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络演示、远程教育、网络视频广告等等互联网信息服务领域。&lt;br /&gt;&lt;br /&gt;　　一、本地影像视频&lt;br /&gt;&lt;br /&gt;　　&amp;#9679;AVI格式：它的英文全称为Audio&amp;nbsp;Video&amp;nbsp;Interleaved，即音频视频交错格式。它于1992年被Microsoft公司推出，随Windows3.1一起被人们所认识和熟知。所谓&amp;#8220;音频视频交错&amp;#8221;，就是可以将视频和音频交织在一起进行同步播放。这种视频格式的优点是图像质量好，可以跨多个平台使用，其缺点是体积过于庞大，而且更加糟糕的是压缩标准不统一，最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频，而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频，所以我们在进行一些AVI格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放，但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题，如果用户在进行AVI格式的视频播放时遇到了这些问题，可以通过下载相应的解码器来解决。&lt;br /&gt;&lt;br /&gt;　　&amp;#9679;nAVI格式：nAVI是newAVI的缩写，是一个名为ShadowRealm的地下组织发展起来的一种新视频格式(与我们上面所说的AVI格式没有太大联系)。它是由Microsoft&amp;nbsp;ASF压缩算法的修改而来的，但是又与下面介绍的网络影像视频中的ASF视频格式有所区别，它以牺牲原有ASF视频文件视频&amp;#8220;流&amp;#8221;特性为代价而通过增加帧率来大幅提高ASF视频文件的清晰度。&lt;br /&gt;&lt;br /&gt;　　&amp;#9679;DV-AVI格式：DV的英文全称是Digital&amp;nbsp;Video&amp;nbsp;Format，是由索尼、松下、JVC等多家厂商联合提出的一种家用数字视频格式。目前非常流行的数码摄像机就是使用这种格式记录视频数据的。它可以通过电脑的IEEE&amp;nbsp;1394端口传输视频数据到电脑，也可以将电脑中编辑好的的视频数据回录到数码摄像机中。这种视频格式的文件扩展名一般是.avi，所以也叫DV-AVI格式。&lt;br /&gt;&lt;br /&gt;　　&amp;#9679;MPEG格式：它的英文全称为Moving&amp;nbsp;Picture&amp;nbsp;Expert&amp;nbsp;Group，即运动图像专家组格式，家里常看的VCD、SVCD、DVD就是这种格式。MPEG文件格式是运动图像压缩算法的国际标准，它采用了有损压缩方法减少运动图像中的冗余信息，说的更加明白一点就是MPEG的压缩方法依据是相邻两幅画面绝大多数是相同的，把后续图像中和前面图像有冗余的部分去除，从而达到压缩的目的(其最大压缩比可达到200:1)。目前MPEG格式有三个压缩标准，分别是MPEG－1、MPEG－2、和MPEG－4，另外，MPEG-7与MPEG-21仍处在研发阶段。&lt;br /&gt;&lt;br /&gt;　　MPEG－1：制定于1992年，它是针对1.5Mbps以下数据传输率的数字存储媒体运动图像及其伴音编码而设计的国际标准。也就是我们通常所见到的VCD制作格式。使用MPEG-1的压缩算法，可以把一部120分钟长的电影压缩到1.2GB左右大小。这种视频格式的文件扩展名包括.mpg、.mlv、.mpe、.mpeg及VCD光盘中的.dat文件等。&lt;br /&gt;&lt;br /&gt;　　MPEG－2：制定于1994年，设计目标为高级工业标准的图像质量以及更高的传输率。这种格式主要应用在DVD/SVCD的制作(压缩)方面，同时在一些HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当的应用。使用MPEG-2的压缩算法，可以把一部120分钟长的电影压缩到4到8GB的大小。这种视频格式的文件扩展名包括.mpg、.mpe、.mpeg、.m2v及DVD光盘上的.vob文件等。&lt;br /&gt;&lt;br /&gt;　　MPEG－4：制定于1998年，MPEG－4是为了播放流式媒体的高质量视频而专门设计的，它可利用很窄的带度，通过帧重建技术，压缩和传输数据，以求使用最少的数据获得最佳的图像质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小体积视频文件。另外，这种文件格式还包含了以前MPEG压缩标准所不具备的比特率的可伸缩性、动画精灵、交互性甚至版权保护等一些特殊功能。这种视频格式的文件扩展名包括.asf、.mov和DivX&amp;nbsp;AVI等。&lt;br /&gt;&lt;br /&gt;　　小提示：细心的用户一定注意到了，这中间怎么没有MPEG－3编码？实际上，大家熟悉的MP3就是采用的MPEG－3(MPEG&amp;nbsp;Layeur3)编码。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;DivX格式：这是由MPEG－4衍生出的另一种视频编码(压缩)标准，也即我们通常所说的DVDrip格式，它采用了MPEG4的压缩算法同时又综合了MPEG-4与MP3各方面的技术，说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩，同时用MP3或AC3对音频进行压缩，然后再将视频与音频合成并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD并且体积只有DVD的数分之一。这种编码对机器的要求也不高，所以DivX视频编码技术可以说是一种对DVD造成威胁最大的新生视频压缩格式，号称DVD杀手或DVD终结者。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;MOV格式：美国Apple公司开发的一种视频格式，默认的播放器是苹果的QuickTimePlayer。具有较高的压缩比率和较完美的视频清晰度等特点，但是其最大的特点还是跨平台性，即不仅能支持MacOS，同样也能支持Windows系列。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;二、网络影像视频&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;ASF格式：它的英文全称为Advanced&amp;nbsp;Streaming&amp;nbsp;format，它是微软为了和现在的Real&amp;nbsp;Player竞争而推出的一种视频格式，用户可以直接使用Windows自带的Windows&amp;nbsp;Media&amp;nbsp;Player对其进行播放。由于它使用了MPEG-4的压缩算法，所以压缩率和图像的质量都很不错(高压缩率有利于视频流的传输，但图像质量肯定会的损失，所以有时候ASF格式的画面质量不如VCD是正常的)。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;WMV格式：它的英文全称为Windows&amp;nbsp;Media&amp;nbsp;Video，也是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。WMV格式的主要优点包括：本地或网络回放、可扩充的媒体类型、部件下载、可伸缩的媒体类型、流的优先级化、多语言支持、环境独立性、丰富的流间关系以及扩展性等。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;RM格式：Real&amp;nbsp;Networks公司所制定的音频视频压缩规范称为Real&amp;nbsp;Media，用户可以使用RealPlayer或RealOne&amp;nbsp;Player对符合RealMedia技术规范的网络音频/视频资源进行实况转播并且RealMedia可以根据不同的网络传输速率制定出不同的压缩比率，从而实现在低速率的网络上进行影像数据实时传送和播放。这种格式的另一个特点是用户使用RealPlayer或RealOne&amp;nbsp;Player播放器可以在不下载音频/视频内容的条件下实现在线播放。另外，RM作为目前主流网络视频格式，它还可以通过其Real&amp;nbsp;Server服务器将其它格式的视频转换成RM视频并由Real&amp;nbsp;Server服务器负责对外发布和播放。RM和ASF格式可以说各有千秋，通常RM视频更柔和一些，而ASF视频则相对清晰一些。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#9679;RMVB格式：这是一种由RM视频格式升级延伸出的新视频格式，它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式，在保证平均压缩比的基础上合理利用比特率资源，就是说静止和动作场面少的画面场景采用较低的编码速率，这样可以留出更多的带宽空间，而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下，大幅地提高了运动图像的画面质量，从而图像质量和文件大小之间就达到了微妙的平衡。另外，相对于DVDrip格式，RMVB视频也是有着较明显的优势，一部大小为700MB左右的DVD影片，如果将其转录成同样视听品质的RMVB格式，其个头最多也就400MB左右。不仅如此，这种视频格式还具有内置字幕和无需外挂插件支持等独特优点。要想播放这种视频格式，可以使用RealOne&amp;nbsp;Player2.0或RealPlayer8.0加RealVideo9.0以上版本的解码器形式进行播放。&amp;nbsp;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2193037.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/27/2193037.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/09/26/2190761.html</id><title type="text">全文检索-笔记</title><summary type="text">1、memcache 开源项目是SAE为开发者提供的分布式缓存服务，用来以共享的方式缓存用户的小数据。Memcached深度分析(原创)http://blog.developers.api.sina.com.cn/?p=124&amp;amp;cpage=1#comment-15062、Google ProtocolBuffer 将对象序列化与反序列化工具是用于结构化数据串行化的灵活、高效、自动的方法，有如XML，不过它更小、更快、也更简单。你可以定义自己的数据结构，然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。ProtocolBuffer拥有多项比</summary><published>2011-09-26T00:37:00Z</published><updated>2011-09-26T00:37:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/26/2190761.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/26/2190761.html"/><content type="html">&lt;div&gt;&lt;div&gt;1、memcache 开源项目&lt;/div&gt;&lt;div&gt;是SAE为开发者提供的分布式缓存服务，用来以共享的方式缓存用户的小数据。&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Memcached深度分析(原创)&lt;/div&gt;&lt;div&gt;http://blog.developers.api.sina.com.cn/?p=124&amp;amp;cpage=1#comment-1506&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;2、Google ProtocolBuffer 将对象序列化与反序列化工具&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;是用于结构化数据串行化的灵活、高效、自动的方法，有如XML，不过它更小、更快、也更简单。你可以定义自己的数据结构，然后使用代码生成器生成的代码来读写这个数据结构&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;。你甚至可以在无需重新部署程序的情况下更新数据结构。&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;ProtocolBuffer拥有多项比XML更高级的串行化结构数据的特性，ProtocolBuffer：&lt;/div&gt;&lt;div&gt;&amp;#183; 更简单&lt;/div&gt;&lt;div&gt;&amp;#183; 小3-10倍&lt;/div&gt;&lt;div&gt;&amp;#183; 快20-100倍&lt;/div&gt;&lt;div&gt;&amp;#183; 更少的歧义&lt;/div&gt;&lt;div&gt;&amp;#183; 可以方便的生成数据存取类&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;3、Flygeight模式，看看内存缓存优化方面&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;4、Lucene&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;亿级数据的高并发通用搜索引擎架构设计[原创]&lt;/div&gt;&lt;div&gt;http://blog.s135.com/post/385/&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;基于Sphinx+MySQL的千万级数据全文检索（搜索引擎）架构设计[原创]&lt;/div&gt;&lt;div&gt;http://blog.s135.com/post/360/&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;里面一些架构分析很好&lt;/div&gt;&lt;div&gt;http://***/&lt;/div&gt;&lt;div&gt;http://***/Tech_97.html 优酷网架构分享&amp;nbsp;&lt;/div&gt;&lt;div&gt;http://***/Tech_92.html Flickr 网站架构分析&amp;nbsp;&lt;/div&gt;&lt;div&gt;http://***/Tech_93.html Amazon网站架构学习总结&amp;nbsp;&lt;/div&gt;&lt;div&gt;http://***/Tech_89.html YouTube架构学习体会&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2190761.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/26/2190761.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/09/22/2185098.html</id><title type="text">【转】c#2.0 3.0 3.5 4.0新特性</title><summary type="text">简单回顾下历史，.Net Framework 1.1其实是个试验品，.Net Framework真正走向成熟其实从2.0开始的，之后的Framework 3，Framework 3.5其实都是基于Framework 2的扩充。Framework 3 + Framework 3 SP1除了修正了一些Framework 2的bug之外，主要的扩展是加了3W框架，分别是WPF，WCF，WWF。F3.5和F3类似，在修正之前的Bug之外，主要的扩展是：LINQ，WF，WCF，Add-in(今后会被MEF替代)。Framework 3.5 SP1，又添了几个新东东：MVC，Dynamic Data，Entity Framework，Data Services等。当然这里面我们也不能忽略了Framework 3在语言上进行的改进，例如Linq，Lambda，扩展函数，var类型的使用等等。</summary><published>2011-09-22T06:50:00Z</published><updated>2011-09-22T06:50:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/22/2185098.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/22/2185098.html"/><content type="html">&lt;span  style="color: #333333; font-family: Arial; line-height: 26px; "&gt;&lt;h4  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;C# 2.0新特性与C# 3.5新特性&lt;/strong&gt;&lt;/p&gt;&lt;div &gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000; "&gt;一、C# 2.0 新特性：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1、泛型&lt;br /&gt;&lt;/strong&gt;List&amp;lt;MyObject&amp;gt; obj_list=new List();&lt;br /&gt;obj_list.Add(new MyObject());&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2、部分类(partial)&lt;/strong&gt;&lt;br /&gt;namespace xxx&lt;br /&gt;{&lt;br /&gt;public partial class Class1&lt;br /&gt;{&lt;br /&gt;private string _s1;&lt;br /&gt;public string S1&lt;br /&gt;{&lt;br /&gt;get { return _s1; }&lt;br /&gt;set { _s1 = value; }&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;//或在另一个文件中&lt;br /&gt;public partial class Class1&lt;br /&gt;{&lt;br /&gt;public string GetString()&lt;br /&gt;{&lt;br /&gt;string s = this.S1 + "aaa";&lt;br /&gt;return s;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;3、静态类&lt;br /&gt;&lt;/strong&gt;public static class MyStaticObject&lt;br /&gt;{&lt;br /&gt;private static string _s;&lt;br /&gt;static MyStaticObject()&lt;br /&gt;{&lt;br /&gt;_s = "Hello";&lt;br /&gt;}&lt;br /&gt;public static string Mothed1()&lt;br /&gt;{&lt;br /&gt;return _s + ",world.";&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4、属性访问器可访问性&lt;/strong&gt;&lt;br /&gt;public class Class2&lt;br /&gt;{&lt;br /&gt;private string _str;&lt;br /&gt;public string Str&lt;br /&gt;{&lt;br /&gt;get { return _str; }&lt;br /&gt;protected set { _str = value; }&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5、可空类型&lt;/strong&gt;&lt;br /&gt;int? aa = null;&lt;br /&gt;aa = 23;&lt;br /&gt;if (aa.HasValue)&lt;br /&gt;{&lt;br /&gt;int bb = aa.Value;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;6、匿名方法&lt;/strong&gt;&lt;br /&gt;class SomeClass //在C#1.0中&lt;br /&gt;{&lt;br /&gt;delegate void SomeDelegate();&lt;br /&gt;public void InvokeMethod()&lt;br /&gt;{&lt;br /&gt;SomeDelegate del = new SomeDelegate(SomeMethod);&lt;br /&gt;del();&lt;br /&gt;}&lt;br /&gt;void SomeMethod()&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Hello");&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;class SomeClass2&lt;br /&gt;{&lt;br /&gt;public delegate void SomeDelegate();&lt;br /&gt;public void InvokeMothed()&lt;br /&gt;{&lt;br /&gt;SomeDelegate del = delegate {&lt;br /&gt;MessageBox.Show("Hello");&lt;br /&gt;};&lt;br /&gt;del();&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;7、名称空间别名限定符&lt;/strong&gt;&lt;br /&gt;global::&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000; "&gt;二、C# 3.0/3.5 新特性：&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1、LinQ(语言集成查询)&lt;/strong&gt;&lt;br /&gt;以前,查询XML文件使用XPath,数据库刚用SQL,LinQ搜索任何IEnumerable数据源.&lt;br /&gt;在ORM解决方案中,LINQ对象用途很大.&lt;br /&gt;示例:&lt;br /&gt;List customers = new List();&lt;br /&gt;IEnumerable query_result = from c in customers&lt;br /&gt;where c.Money &amp;gt; 100&lt;br /&gt;orderby c.Name&lt;br /&gt;select c;&lt;br /&gt;Linq 包括 Linq to SQL, Linq to Objects, Linq to XML 和 ADO.NET Entity Framework 等几个部分&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2、Lambda表达式。&lt;/strong&gt;更激动人心的,是一种匿名函数结构,它可以方便的实现委托、查询综合和扩展方法的 delegate 类型参数的初始化定义.&lt;br /&gt;示例:原来的:&lt;br /&gt;delegate void Func(int x);&lt;br /&gt;void Add(int x){x++;}&lt;br /&gt;Func f=new Func(Add);&lt;br /&gt;f(1);&lt;br /&gt;可简化为:&lt;br /&gt;Func f=(x)=&amp;gt;{x++;};&lt;br /&gt;或:&lt;br /&gt;Func f=(int x )=&amp;gt;{x++;};&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;3、隐式类型本地变量。&lt;/strong&gt;var关键字(类型脚本语言中的隐式声明变量,主要针对LinQ设计)&lt;br /&gt;var num=0;&lt;br /&gt;var nums[]={1,2,3,4,5};&lt;br /&gt;var num='a';&lt;br /&gt;var list=new List();&lt;br /&gt;foreach(var i in nums){&lt;br /&gt;num+=i;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4、扩展方法。&lt;/strong&gt;extension(允许您扩充任何类,甚至是标记为封装的类,对于扩展的方法必须在静态类里来扩展)&lt;br /&gt;示例,在string上实现Count()方法:&lt;br /&gt;using System.Runtime.CompilerService;&lt;br /&gt;public class Extensions{&lt;br /&gt;[Extension()]&lt;br /&gt;public int Count(this string source){&lt;br /&gt;int count = 0;&lt;br /&gt;foreach (var item in source){&lt;br /&gt;count++;&lt;br /&gt;}&lt;br /&gt;return count;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;//使用:&lt;br /&gt;string s="Hello,world!";&lt;br /&gt;int i=s.Count();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;5、对象和集合初始值设定项。&lt;/strong&gt;初始化的简化,写实体类方便了&lt;br /&gt;public class Person{&lt;br /&gt;public string Name{get;set;} //自动实现属性&lt;br /&gt;public int Age{get;set;}&lt;br /&gt;}&lt;br /&gt;var person1=new Person{Name="tang",Age=21}; //...&lt;br /&gt;var persons=new List{ //集合初始化器&lt;br /&gt;new Person{Name="TEW",Age=21},&lt;br /&gt;new Person{Name="RSA",Age=18}&lt;br /&gt;};&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6、宽松委托。&lt;/strong&gt;宽松委托使得 C# 在判断委托实例化赋值时，对于签名不同的函数可以接受。例如 EventArgs 和 MouseEventArgs 是具备继承关系的类，当它们出现在同一个接受 EventArgs 类型参数的委托定义中时，编译器对于这两种委托都能接受。例如：&lt;/p&gt;&lt;p&gt;delegate void A (object sender, MouseEventArgs e);&lt;br /&gt;delegate void B (int a, int b);&lt;/p&gt;&lt;p&gt;EventHandler e1, e2;&lt;br /&gt;e1 = new A(...);&amp;nbsp;&amp;nbsp;&amp;nbsp; // OK&lt;br /&gt;e2 = new EventHandler(...);&amp;nbsp;&amp;nbsp; // OK&lt;br /&gt;e1 = e2;&amp;nbsp;&amp;nbsp;&amp;nbsp; // OK&lt;/p&gt;&lt;p&gt;B b = (long a, int b) +&amp;gt; ...{ };&amp;nbsp;&amp;nbsp; // OK&lt;/p&gt;&lt;p&gt;&lt;strong&gt;7、自动实现属性。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在定义类的属性时，常常需要像下面的代码一样封装一个域。&lt;/p&gt;&lt;p&gt;private string name;&lt;/p&gt;&lt;p&gt;public string Name ...{ get ...{ return name; } set ...{ name = value; } }&lt;br /&gt;C# 3.0 提供了一种简化的属性定义方法，可以实现上述代码的作用。&lt;/p&gt;&lt;p&gt;public string Name ...{ get; set; }&lt;br /&gt;这就是自动实现属性。编译器自动实现类似域封装的代码。不过自动实现属性不能定义只读和只有 get 过程的属性；set 也不能具备访问性描述。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;8、匿名类型&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;匿名类型常常用在查询表达式的结果中，因为这种类型的返回值往往是一个包含一种特定类型的 IEnumerable&amp;lt;T&amp;gt;。例如，要从上面的例子中选出年龄大于 21 岁，身高大于 160 厘米的 Person 集合，可以采用如下形式。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;var result = from person in persons where person.Age &amp;gt;= 21 &amp;amp;&amp;amp; person.Height &amp;gt;= 160&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select new ...{ Name = person.Name, Age = person.Age, Height = person.Height / 100 };&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;new { Name = person.Name, Age = person.Age, Height = person.Height / 100 } 是一个匿名类型，编译器将对它做如下声明。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;public class _Anonymous_Name_Age_Height ...{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Name;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Age;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public decimal Height;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;strong&gt;9、分部方法&lt;/strong&gt;(partial分部类的分部方法,必须是void返回类型)&lt;br /&gt;// 文件 1.cs&lt;br /&gt;public partial class A{&lt;br /&gt;void B(); //声明&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;// 文件 2.cs&lt;br /&gt;public partial class A{&lt;br /&gt;void B { Console.WriteLine("B invoked."); } //实现&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;这种语法可以把函数的定义和声明分开编写。使用分部方法需要注意：&lt;/p&gt;&lt;p&gt;1、分部方法的类实体必须为 partial。&lt;br /&gt;2、分部方法的返回值必须为 void。&lt;br /&gt;3、如果没有实现分部方法，但却定义了此方法的声明，在使用这个包含分部方法的类时，编译器自动将没有实现的方法签名移除。&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-----------------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;span  style="color: #333333; font-family: 宋体; line-height: 28px; "&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;&lt;strong style="font-weight: bold; text-align: center; "&gt;那我们看看.NET Framework 4.0功能又给我们带来了什么？&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;.NET Framework 4与 Framework 3.5 SP1并行工作。在旧版的Framework中可以运行的应用程序，将继续能够运行在.NET Framework 4上。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;在Visual Basic和C ＃语言中有所创新，例如声明lambdas 、隐线continuations 、动态调度、并命名/可选参数等。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;在ADO.NET实体框架中增加了许多新的功能，通过提高抽象层次，从而简化开发人员的关系数据库的程序。这些新功能包括：持续忽略、POCO支持、延迟加载，测试驱动开发的支持、功能模型以及新的LINQ运营商等。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;&lt;strong style="font-weight: bold; text-align: center; "&gt;.NET Framework 4.0功能一、以下是ASP.NET中的改进 ：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;改进JavaScript用户界面模板和AJAX中的数据绑定功能；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;改进ASP.NET的图表控制；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;&lt;strong style="font-weight: bold; text-align: center; "&gt;.NET Framework 4.0功能二、以下是WPF中的改进：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;在WPF中增加Windows 7多触控、ribbon控制、任务栏扩展功能支持；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;在WPF中增加Surface 2.0 SDK支持；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;新的业务线控制，包括图表控制，智能编辑，数据网格，以及其他能够提高&amp;#8220;建立数据中心的应用程序&amp;#8221;的开发者经验的控制。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;提高性能和可扩展性；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;在文字、像素布局、本地化和互操作性中添加可视化改进；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;&lt;strong style="font-weight: bold; text-align: center; "&gt;.NET Framework 4.0功能三、Windows Workflow（WF）中的改进让开发者能够更好地控制工作流程，具体改进如下：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;改善活动规划模型；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;改进设计体验；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;一个新的流程建模方式；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;扩大调色板的活动范围；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;工作流程规则一体化；&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;新邮件相关的功能。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;&lt;strong style="font-weight: bold; text-align: center; "&gt;.NET Framework 4.0功能四、.NET框架还为基于WF的工作流程提供重大的性能改进：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;改进Windows通讯基础（ WCF ）构架，例如流服务相关支持，双向通信的持久性等。&lt;/p&gt;&lt;p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; background-color: transparent; text-indent: 28px; "&gt;.NET框架4还提供了新的WCF功能，例如服务发现、路由器服务、简化配置、REST支持、诊断和性能提升等。&lt;/p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2185098.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/22/2185098.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/09/07/2169882.html</id><title type="text">【转】oracle全文检索</title><summary type="text">看oracle全文检索，还是比较喜欢这篇文章，转过来试试。</summary><published>2011-09-07T07:24:00Z</published><updated>2011-09-07T07:24:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/07/2169882.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/07/2169882.html"/><content type="html">&lt;span  style="color: #333333; font-family: verdana, ����, Arial; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;不使用Oracle text功能,也有很多方法可以在Oracle数据库中搜索文本.可以使用标准的INSTR函数和LIKE操作符实现。&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;SELECT *FROM mytext WHERE INSTR (thetext, 'Oracle') &amp;gt; 0;&lt;/p&gt;SELECT * FROM mytext WHERE thetext LIKE '%Oracle%';&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;有很多时候，使用instr和like是很理想的, 特别是搜索仅跨越很小的表的时候.然而通过这些文本定位的方法将导致全表扫描,对资源来说消耗比较昂贵,而且实现的搜索功能也非常有限，因此对海量的文本数据进行搜索时，建议使用oralce提供的全文检索功能 建立全文检索的步骤步骤一 检查和设置数据库角色首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色，意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。 默认安装情况下，ctxsys用户是被锁定的，因此要先启用ctxsys的用户。 步骤二 赋权 在ctxsys用户下把ctx_ddl的执行权限赋于要使用全文索引的用户，例：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;grant execute on ctx_ddl to pomoho;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;步骤三 设置词法分析器(lexer)&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;Oracle实现全文检索，其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来，记录在一组 以dr$开头的表中，同时记下该term出现的位置、次数、hash 值等信息。检索时，Oracle 从这组表中查找相应的term，并计算其出现频率，根据某个算法来计算每个文档的得分(score),即所谓的&amp;#8216;匹配率&amp;#8217;。而lexer则是该机制的核心，它决定了全文检索的效率。Oracle 针对不同的语言提供了不同的 lexer, 而我们通常能用到其中的三个：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;n&amp;nbsp; basic_lexer: 针对英语。它能根据空格和标点来将英语单词从句子中分离，还能自动将一些出现频率过高已经失去检索意义的单词作为&amp;#8216;垃圾&amp;#8217;处理，如if , is 等，具有较高的处理效率。但该lexer应用于汉语则有很多问题，由于它只认空格和标点，而汉语的一句话中通常不会有空格，因此，它会把整句话作为一个 term,事实上失去检索能力。以&amp;#8216;中国人民站起来了&amp;#8217;这句话为例，basic_lexer 分析的结果只有一个term ,就是&amp;#8216;中国人民站起来了&amp;#8217;。此时若检索&amp;#8216;中国&amp;#8217;，将检索不到内容。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;n&amp;nbsp; chinese_vgram_lexer: 专门的汉语分析器，支持所有汉字字符集(ZHS16CGB231280 ZHS16GBK ZHT32EUC ZHT16BIG5 ZHT32TRIS ZHT16MSWIN950 ZHT16HKSCS UTF8 )。该分析器按字为单元来分析汉语句子。&amp;#8216;中国人民站起来了&amp;#8217;这句话，会被它分析成如下几个term: &amp;#8216;中&amp;#8217;，&amp;#8216;中国&amp;#8217;，&amp;#8216;国人&amp;#8217;，&amp;#8216;人民&amp;#8217;，&amp;#8216;民站&amp;#8217;，&amp;#8216;站起&amp;#8217;，起来&amp;#8217;，&amp;#8216;来了&amp;#8217;，&amp;#8216;了&amp;#8217;。可以看出，这种分析方法，实现算法很简单，并且能实现&amp;#8216;一网打尽&amp;#8217;，但效率则是差强人意。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;n&amp;nbsp; chinese_lexer: 这是一个新的汉语分析器，只支持utf8字符集。上面已经看到，chinese vgram lexer这个分析器由于不认识常用的汉语词汇，因此分析的单元非常机械，像上面的&amp;#8216;民站&amp;#8217;，&amp;#8216;站起&amp;#8217;在汉语中根本不会单独出现，因此这种term是没有意义的，反而影响效率。chinese_lexer的最大改进就是该分析器 能认识大部分常用汉语词汇，因此能更有效率地分析句子，像以上两个愚蠢的单元将不会再出现，极大 提高了效率。但是它只支持 utf8, 如果你的数据库是zhs16gbk字符集，则只能使用笨笨的那个Chinese vgram lexer.&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;如果不做任何设置，Oracle 缺省使用basic_lexer这个分析器。要指定使用哪一个lexer, 可以这样操作：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;第一． 当前用户下下建立一个preference(例：在pomoho用户下执行以下语句)&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;exec ctx_ddl.create_preference ('my_lexer', 'chinese_vgram_lexer');&lt;/p&gt;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;第二．&amp;nbsp;&amp;nbsp; 在建立全文索引索引时，指明所用的lexer:&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;CREATE INDEX myindex ON mytable(mycolumn) indextype is ctxsys.context &lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;parameters('lexer my_lexer');&lt;/p&gt;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;这样建立的全文检索索引，就会使用chinese_vgram_lexer作为分析器。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;步骤四 建立索引&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;通过以下语法建立全文索引&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;CREATE INDEX [schema.]index on [schema.]table(column) INDEXTYPE IS ctxsys.context [ONLINE]&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;LOCAL [(PARTITION [partition] [PARAMETERS('paramstring')]&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;[, PARTITION [partition] [PARAMETERS('paramstring')]])]&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;[PARAMETERS(paramstring)] [PARALLEL n] [UNUSABLE];&#xD;
例：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;CREATE INDEX ctx_idx_menuname ON pubmenu(menuname) &lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;indextype is ctxsys.context parameters('lexer my_lexer')&lt;/p&gt;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;步骤五 使用索引&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;使用全文索引很简单，可以通过：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;select * from pubmenu where contains(menuname,'上传图片')&amp;gt;0&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;全文索引的种类&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;建立的Oracle Text索引被称为域索引(domain index)，包括4种索引类型：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;l CONTEXT&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;2 CTXCAT&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;3 CTXRULE&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;4 CTXXPATH&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;依据你的应用程序和文本数据类型你可以任意选择一种。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;对多字段建立全文索引&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;很多时候需要从多个文本字段中查询满足条件的记录，这时就需要建立针对多个字段的全文索引，例如需要从pmhsubjects(专题表)的 subjectname(专题名称)和briefintro(简介)上进行全文检索，则需要按以下步骤进行操作：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&amp;#216;&amp;nbsp; 建议多字段索引的preference&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;以ctxsys登录，并执行：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;EXEC ctx_ddl.create_preference(' ctx_idx_subject_pref',&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;'MULTI_COLUMN_DATASTORE');&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&amp;#216; 建立preference对应的字段值(以ctxsys登录)&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;EXEC ctx_ddl.set_attribute(' ctx_idx_subject_pref ','columns','subjectname,briefintro');&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&amp;#216; 建立全文索引&#xD;
CREATE INDEX ctx_idx_subject ON pmhsubjects(subjectname) &lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;INDEXTYPE ISctxsys.CONTEXT PARAMETERS('DATASTORE ctxsys.ctx_idx_subject_pref lexer my_lexer')&#xD;
&amp;#216; 使用索引&#xD;
select * from pmhsubjects where contains(subjectname,'郭德纲')&amp;gt;0&lt;/p&gt;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;全文索引的维护&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;对于CTXSYS.CONTEXT索引，当应用程序对基表进行DML操作后，对基表的索引维护是必须的。索引维护包括索引同步和索引优化。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;在索引建好后，我们可以在该用户下查到Oracle自动产生了以下几个表：(假设索引名为myindex)：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;DR$myindex$I、DR$myindex$K、DR$myindex$R、DR$myindex$N其中以I表最重要，可以查询一下该表，看看有什么内容：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;SELECT token_text, token_count FROM dr$i_rsk1$I WHERE ROWNUM &amp;lt;= 20;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;这里就不列出查询接过了。可以看到，该表中保存的其实就是Oracle 分析你的文档后，生成的term记录在这里，包括term出现的位置、次数、hash值等。当文档的内容改变后，可以想见这个I表的内容也应该相应改变，才能保证Oracle在做全文检索时正确检索到内容(因为所谓全文检索，其实核心就是查询这个表)。这就用到sync(同步) 和 optimize(优化)了。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;同步(sync):&lt;/strong&gt;&amp;nbsp;将新的term 保存到I表；&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;优化(optimize):&lt;/strong&gt;&amp;nbsp;清除I表的垃圾，主要是将已经被删除的term从I表删除。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;当基表中的被索引文档发生insert、update、delete操作的时候，基表的改变并不能马上影响到索引上直到同步索引。可以查询视图 CTX_USER_PENDING查看相应的改动。例如：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;SELECT pnd_index_name, pnd_rowid,&#xD;
TO_CHAR (pnd_timestamp, 'dd-mon-yyyy hh24:mi:ss') timestamp&#xD;
FROM ctx_user_pending;&#xD;
&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;该语句的输出类似如下：&#xD;
PND_INDEX_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PND_ROWID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIMESTAMP&#xD;
------------------------------ ------------------ --------------------&#xD;
MYINDEX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AAADXnAABAAAS3SAAC 06-oct-1999 15:56:50&lt;/p&gt;&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;同步和优化方法: 可以使用Oracle提供的ctx_ddl包同步和优化索引&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;一.&amp;nbsp; 对于CTXCAT类型的索引来说， 当对基表进行DML操作的时候，Oracle自动维护索引。对文档的改变马上反映到索引中。CTXCAT是事务形的索引。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;索引的同步&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;在对基表插入，修改，删除之后同步索引。推荐使用sync同步索引。语法：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;ctx_ddl.sync_index(&#xD;
idx_name IN VARCHAR2 DEFAULT NULL&#xD;
memory IN VARCHAR2 DEFAULT NULL,&#xD;
part_name IN VARCHAR2 DEFAULT NULL&#xD;
parallel_degree IN NUMBER DEFAULT 1); &#xD;
idx_name&amp;nbsp;&amp;nbsp; 索引名称&#xD;
memory&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定同步索引需要的内存。默认是系统参数DEFAULT_INDEX_MEMORY 。&lt;/pre&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;指定一个大的内存时候可以加快索引效率和查询速度，且索引有较少的碎片&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;part_name 同步哪个分区索引。&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;parallel_degree 并行同步索引。设置并行度。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;例如：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;同步索引myindex:Exec&amp;nbsp;&amp;nbsp; ctx_ddl.sync_index ('myindex');&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;实施建议：建议通过oracle的job对索引进行同步&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;索引的优化&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;经常的索引同步将会导致你的CONTEXT索引产生碎片。索引碎片严重的影响了查询的反应速度。你可以定期优化索引来减少碎片，减少索引大小，提高查询效率。&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;当文本从表中删除的时候，Oracle Text标记删除的文档，但是并不马上修改索引。因此，就的文档信息占据了不必要的空间，导致了查询额外的开销。你必须以FULL模式优化索引，从索引中删除无效的旧的信息。这个过程叫做垃圾处理。当你经常的对表文本数据进行更新，删除操作的时候，垃圾处理是很必要的。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;exec&amp;nbsp;&amp;nbsp; ctx_ddl.optimize_index ('myidx', 'full');&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;实施建议：每天在系统空闲的时候对全文索引进行相应的优化，以提高检索的效率&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;P.S.定时优化索引&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;3.定时优化同步域索引&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;创建定时任务，定期优化和同步域索引&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;SQL&amp;gt; create or replace procedure hsp_sync_index as&#xD;
  2  begin&#xD;
  3  ctx_ddl.sync_index('id_cont_msg');&#xD;
  4  end;&#xD;
  5  /&#xD;
&#xD;
Procedure created.&#xD;
&#xD;
Elapsed: 00:00:00.08&#xD;
SQL&amp;gt; VARIABLE jobno number;  &#xD;
SQL&amp;gt; BEGIN&#xD;
   2 DBMS_JOB.SUBMIT(:jobno,'hsp_sync_index();',  &#xD;
   3 SYSDATE, 'SYSDATE + (1/24/4)');  &#xD;
   4 commit;  &#xD;
   5 END;  &#xD;
   6 /&#xD;
&#xD;
PL/SQL procedure successfully completed.&#xD;
&#xD;
Elapsed: 00:00:00.27&#xD;
SQL&amp;gt; create or replace procedure hsp_optimize_index as&#xD;
  2  begin&#xD;
  3  ctx_ddl.optimize_index('id_cont_msg','FULL');&#xD;
  4  end;&#xD;
  5  /&#xD;
&#xD;
SQL&amp;gt; VARIABLE jobno number;  &#xD;
SQL&amp;gt; BEGIN&#xD;
   2 DBMS_JOB.SUBMIT(:jobno,'hsp_optimize_index();',  &#xD;
   3 SYSDATE, 'SYSDATE + 1');  &#xD;
   4 commit; &#xD;
   5 END;&#xD;
   6 /&#xD;
Procedure created.&#xD;
&#xD;
Elapsed: 00:00:00.03&#xD;
&#xD;
PL/SQL procedure successfully completed.&#xD;
&#xD;
Elapsed: 00:00:00.02&#xD;
SQL&amp;gt; &lt;/pre&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2169882.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/09/07/2169882.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/08/28/2156150.html</id><title type="text">【转】使用eclipse怎样打开已有工程</title><summary type="text">开始学Android开发了，都是些基本东西，用惯了.net 会发现其他开发工具都不舒服，唉，貌似被微软毒害了，好在东西都差不多，就是找不到地方而已。-------------在开始使用Eclipse的时候，会发现一个问题，那就是如何打开一个现有的Eclipse工程，开始在菜单中找了好久也没找到。 其实，Eclipse生成的结果不像VC,Jcreator那样可以直接打开，若要打开非workspace文件夹下的其他已有工程，可以打开菜单file-&amp;gt;import→general→existing project into space.在select root directory中选中要打开的文</summary><published>2011-08-28T05:26:00Z</published><updated>2011-08-28T05:26:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/28/2156150.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/28/2156150.html"/><content type="html">&lt;p&gt;开始学Android开发了，都是些基本东西，用惯了.net 会发现其他开发工具都不舒服，唉，貌似被微软毒害了，好在东西都差不多，就是找不到地方而已。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;-------------&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span  style="color: #0d0d0d; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 22px; "&gt;&lt;p style="line-height: 22px; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;在开始使用Eclipse的时候，会发现一个问题，那就是如何打开一个现有的Eclipse工程，开始在菜单中找了好久也没找到。&amp;nbsp;&lt;br style="line-height: 22px; " /&gt;　　其实，Eclipse生成的结果不像VC,Jcreator那样可以直接打开，若要打开非workspace文件夹下的其他已有工程，可以打开菜单file-&amp;gt;imp&lt;wbr style="line-height: 22px; "&gt;ort&amp;#8594;general&amp;#8594;existing project into space.在select root directory中选中要打开的文件夹即可。此时如果选择copy existing project into workspace就会同时将文件拷贝到workspace下。这里首先要保证要保证Eclipse两个文件.classpath和.project还在，不然无法导入，就是说Eclipse的imp&lt;wbr style="line-height: 22px; "&gt;ort只认自己家的东西。&amp;nbsp;&lt;br style="line-height: 22px; " /&gt;　　1、若打开的是Java工程与当前的Eclipse配置不同，在运行时会产生问题。&lt;/p&gt;&lt;p style="line-height: 22px; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;解决方法：&amp;nbsp;打开菜单project&amp;#8594;properties修改。主要需要修改的是java build path项。&lt;/p&gt;&lt;p style="line-height: 22px; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;2、若打开的是Android工程与当前的Eclipse配置不同，在运行时会产生问题。&lt;/p&gt;&lt;p style="line-height: 22px; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;解决办法：&amp;nbsp;打开菜单project&amp;#8594;properties修改。主要需要勾选Android项下的子项。&lt;/p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2156150.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/28/2156150.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/08/02/2124996.html</id><title type="text">【转】update select</title><summary type="text">最常用的update语法是：UPDATE &amp;lt;table_name&amp;gt;SET &amp;lt;column_name1&amp;gt; = &amp;lt;value&amp;gt;，SET &amp;lt;column_name2&amp;gt; = &amp;lt;value&amp;gt;如果我的更新值Value是从一条select语句拿出来，而且有很多列的话，用这种语法就很麻烦第一，要select出来放在临时变量上，有很多个哦第二，再将变量进行赋值。列多起来非常麻烦，能不能像Insert那样，把整个Select语句的结果进行插入呢？就好象下面insert into table1(c1, c2, c3)(select v1, v2, v3 f</summary><published>2011-08-02T06:23:00Z</published><updated>2011-08-02T06:23:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/02/2124996.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/02/2124996.html"/><content type="html">&lt;span  style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "&gt;&lt;p&gt;最常用的update语法是：&lt;br style="box-sizing: border-box; " /&gt;&lt;span style="box-sizing: border-box; "&gt;UPDATE &amp;lt;table_name&amp;gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;SET &amp;lt;column_name1&amp;gt; = &amp;lt;value&amp;gt;，&lt;/span&gt;&amp;nbsp;&lt;span style="box-sizing: border-box; "&gt;SET &amp;lt;column_name2&amp;gt; = &amp;lt;value&amp;gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;如果我的更新值Value是从一条select语句拿出来，而且有很多列的话，用这种语法就很麻烦&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;第一，要select出来放在临时变量上，有很多个哦&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;第二，再将变量进行赋值。&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;列多起来非常麻烦，能不能像Insert那样，把整个Select语句的结果进行插入呢？就好象下面&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;insert into table1&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;(c1, c2, c3)&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;(select v1, v2, v3 from table2)&lt;br style="box-sizing: border-box; " /&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;答案是可以的，具体的语法如下：&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;UPDATE &amp;lt;table_name&amp;gt; &amp;lt;alias&amp;gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;SET&amp;nbsp;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: #ff0000; "&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;&amp;lt;column_name&amp;gt;,&amp;lt;column_name&amp;gt;&amp;nbsp;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: #ff0000; "&gt;)&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;=&amp;nbsp;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;SELECT&amp;nbsp;&lt;span style="box-sizing: border-box; color: #008000; "&gt;&lt;strong style="box-sizing: border-box; "&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;&amp;lt;column_name&amp;gt;, &amp;lt;column_name&amp;gt;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: #008000; "&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;FROM &amp;lt;table_name&amp;gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;WHERE &amp;lt;alias.column_name&amp;gt; = &amp;lt;alias.column_name&amp;gt;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; "&gt;WHERE &amp;lt;column_name&amp;gt; &amp;lt;condition&amp;gt; &amp;lt;value&amp;gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; "&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;下面是这样一个例子：&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;两个表a、b，想使b中的memo字段值等于a表中对应id的name值&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;表a：id， name&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;1 王&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;2 李&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;3 张&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;表b：id，ClientName&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;2&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;3&amp;nbsp;&lt;br style="box-sizing: border-box; " /&gt;(MS SQL Server)语句：update b&amp;nbsp;&amp;nbsp; set&amp;nbsp;&amp;nbsp; ClientName&amp;nbsp;&amp;nbsp;&amp;nbsp; = a.name&amp;nbsp;&amp;nbsp;&amp;nbsp; from a,b&amp;nbsp;&amp;nbsp;&amp;nbsp; where a.id = b.id&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;(Oralce)语句：update b&amp;nbsp;&amp;nbsp; set&amp;nbsp;&amp;nbsp; (ClientName)&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; (SELECT name FROM a WHERE b.id = a.id)&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;strong style="box-sizing: border-box; color: red; "&gt;update set from 语句格式&lt;/strong&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;strong style="box-sizing: border-box; "&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;&lt;strong style="box-sizing: border-box; "&gt;当where和set都需要关联一个表进行查询时，整个update执行时，就需要对被关联的表进行两次扫描，显然效率比较低。&lt;/strong&gt;&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;对于这种情况，Sybase和SQL SERVER的解决办法是使用UPDATE...SET...FROM...WHERE...的语法，实际上就是从源表获取更新数据。&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;在 SQL 中，表连接（left join、right join、inner join 等）常常用于 select 语句，其实在 SQL 语法中，这些连接也是可以用于 update 和 delete 语句的，在这些语句中使用 join 还常常得到事半功倍的效果。&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;&lt;strong style="box-sizing: border-box; "&gt;Update&amp;nbsp;&lt;span style="box-sizing: border-box; color: #008080; "&gt;T_OrderForm&lt;/span&gt;&amp;nbsp;SET&amp;nbsp;&lt;span style="box-sizing: border-box; color: #339966; "&gt;T_OrderForm&lt;/span&gt;.SellerID =B.L_TUserID&lt;br style="box-sizing: border-box; " /&gt;FROM T_OrderForm A&amp;nbsp;&lt;span style="box-sizing: border-box; color: #ff0000; "&gt;LEFT JOIN T_ProductInfo&amp;nbsp;&amp;nbsp; B&lt;/span&gt;&amp;nbsp;ON B.L_ID=A.ProductID&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;&lt;span style="box-sizing: border-box; color: red; "&gt;用来同步两个表的数据!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;Oralce和DB2都支持的语法：&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;UPDATE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SET&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;(A1, A2, A3)&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SELECT&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B1, B2, B3&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;FROM&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;WHERE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID)&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;MS SQL Server不支持这样的语法，相对应的写法为：&lt;br style="box-sizing: border-box; " /&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;UPDATE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SET&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A1&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B1, A2&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B2, A3&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B3&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;FROM&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #ff00ff; "&gt;LEFT&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;JOIN&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;ON&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法：&lt;br style="box-sizing: border-box; " /&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;UPDATE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SET&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A1&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B1, A2&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B2, A3 = B3&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;FROM&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A, B&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;WHERE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;在Oracle和DB2中的写法就比较麻烦了，如下：&lt;/span&gt;&lt;/p&gt;&lt;p style="box-sizing: border-box; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;UPDATE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SET&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;(A1, A2, A3)&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SELECT&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B1, B2, B3&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;FROM&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;WHERE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID)&lt;br style="box-sizing: border-box; " /&gt;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;WHERE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;IN&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;SELECT&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;FROM&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #0000ff; "&gt;WHERE&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;A.ID&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #808080; "&gt;=&lt;/span&gt;&lt;span style="box-sizing: border-box; color: #000000; "&gt;&amp;nbsp;B.ID)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; box-sizing: border-box; "&gt;原文地址&lt;/p&gt;&lt;/span&gt;&lt;span  style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "&gt;&lt;a href="http://www.cnblogs.com/jcgh/archive/2010/10/19/1855446.html"&gt;http://www.cnblogs.com/jcgh/archive/2010/10/19/1855446.html&lt;/a&gt;&lt;/span&gt;&lt;span  style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2124996.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/08/02/2124996.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/07/25/2115895.html</id><title type="text">[转]C# 应用程序设置</title><summary type="text">C# 应用程序设置官方参考：http://msdn.microsoft.com/zh-cn/library/k4s6c3a0(v=VS.80).aspx使用VS自带的应用程序设置功能创建项目选择菜单 [项目] &amp;gt; [属性]选择 [设置]就可手动添加应用程序设置了。添加成功后，系统会自动生成App.config文件。view sourceprint?01&amp;lt;?xmlversion=&amp;quot;1.0&amp;quot;encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;02&amp;lt;configuration&amp;gt;03&amp;lt;userSettings&amp;gt;04&amp;lt;Windows</summary><published>2011-07-25T02:20:00Z</published><updated>2011-07-25T02:20:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/07/25/2115895.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/07/25/2115895.html"/><content type="html">&lt;span  style="line-height: 22px; font-family: Simsun; "&gt;&lt;p&gt;C# 应用程序设置&lt;/p&gt;&lt;p&gt;官方参考：&lt;a href="http://msdn.microsoft.com/zh-cn/library/k4s6c3a0(v=VS.80).aspx" target="_blank" style="color: #0a0064; text-decoration: none; "&gt;&lt;font color="#1d58d1"&gt;http://msdn.microsoft.com/zh-cn/library/k4s6c3a0(v=VS.80).aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;使用VS自带的应用程序设置功能&lt;/strong&gt;&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;创建项目&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;选择菜单 [项目] &amp;gt; [属性]&amp;nbsp;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;选择 [设置]&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://edu.admin5.com/upimg/allimg/110124/1656570.png" width="528" height="290" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "  alt="" /&gt;&lt;/p&gt;&lt;p&gt;就可手动添加应用程序设置了。&lt;/p&gt;&lt;p&gt;添加成功后，系统会自动生成App.config文件。&lt;/p&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div id="highlighter_516287"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;a  title="view source" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#viewSource" commandname="viewSource" highlighterid="highlighter_516287" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;view source&lt;/a&gt;&lt;a  title="print" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#printSource" commandname="printSource" highlighterid="highlighter_516287" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;print&lt;/a&gt;&lt;a  title="?" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#about" commandname="about" highlighterid="highlighter_516287" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;01&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;?&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;xml&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;version&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"1.0"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;encoding&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"utf-8"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;?&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;02&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;configuration&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;03&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;userSettings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;04&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;WindowsApplication5.Properties.Settings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;05&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;setting&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;name&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"mySet"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;serializeAs&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"String"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;06&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;value&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;testSet_828&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;value&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;07&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;setting&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;08&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;setting&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;name&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"FormTitle"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;serializeAs&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"String"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;09&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;value&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;FormTestdddd&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;value&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;setting&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;11&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;WindowsApplication5.Properties.Settings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;userSettings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;13&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;configuration&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;关于User和Application的区别&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;Application 不允许在程序中更新设置。只能手动更改App.config或到项目属性的设置中更改。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;User 允许在程序中更改设置。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;VS也提供了一种直接在窗体控件属性的ApplicationSettings 里设置关联应用程序的快捷方法。&lt;/p&gt;&lt;p&gt;以下列举了使用VS自带应用程序应注意的地方&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;如果范围是Application时，在程序此值时只读的。只能通过修改App.config的对应项来更改。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;如果范围是User，并且在程序未对此值做修改时，修改App.config对应项，在程序访问时当前值为App.config中设置的值。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;如果范围是User，并且在程序中对此值进行了修改，App.config中记录的还会是老值，并且以后的App.config此项设置将无效。&lt;/li&gt;&lt;/ul&gt;&lt;p style="padding-left: 30px; "&gt;那到底User修改后的值系统在什么地方存这呢？&lt;/p&gt;&lt;p style="padding-left: 30px; "&gt;经过测试是在C:\Documents and Settings\Administrator\Local Settings\Application Data\Phook\WindowsApplication5.exe_Url_nlwmvagksxwiigfpn5ymssyrjtyn22ph\1.0.0.0\user.config&lt;/p&gt;&lt;p style="padding-left: 30px; "&gt;下存着，如果更改以上App.config则程序将取到新值。很奇怪，微软为什么要弄的怎么复杂。&lt;/p&gt;&lt;p&gt;在程序中使用&lt;/p&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div id="highlighter_472976"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;a  title="view source" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#viewSource" commandname="viewSource" highlighterid="highlighter_472976" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;view source&lt;/a&gt;&lt;a  title="print" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#printSource" commandname="printSource" highlighterid="highlighter_472976" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;print&lt;/a&gt;&lt;a  title="?" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#about" commandname="about" highlighterid="highlighter_472976" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;font color="#008200"&gt;//获取值&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;label1.Text = Properties.Settings.Default.mySet;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;label2.Text = Properties.Settings.Default.myApp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;font color="#008200"&gt;//修改值，只能修改User范围的。&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;Properties.Settings.Default.mySet =&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"test1111"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;6&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;Properties.Settings.Default.Save();&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;总结&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;应该是如果选择范围是User时，此设置是用户级别的。使用不同用户登录后运行程序取的值是不一样的。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;并且如果程序修改了名称，各自会拥有另一套App.config。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;而Application是应用程序级的，任何打开相同程序的Application都会一样。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;自定义App.config&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;可能你想要一个Config可以功能和Application范围一样，但有同时支持程序修改。以下是实现方法&lt;/p&gt;&lt;p&gt;创建工程&lt;/p&gt;&lt;p&gt;手动添加App.config&lt;/p&gt;&lt;p&gt;&lt;img src="http://edu.admin5.com/upimg/allimg/110124/1656571.png" width="498" height="505" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; width: 445px; height: 350px; "  alt="" /&gt;&lt;/p&gt;&lt;p&gt;格式如下：&lt;/p&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div id="highlighter_776648"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;a  title="view source" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#viewSource" commandname="viewSource" highlighterid="highlighter_776648" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;view source&lt;/a&gt;&lt;a  title="print" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#printSource" commandname="printSource" highlighterid="highlighter_776648" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;print&lt;/a&gt;&lt;a  title="?" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#about" commandname="about" highlighterid="highlighter_776648" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;?&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;xml&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;version&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"1.0"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;encoding&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"utf-8"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;?&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;configuration&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;appSettings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;add&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;key&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"y"&lt;/font&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;font color="#808080"&gt;value&lt;/font&gt;&lt;/code&gt;&lt;code &gt;=&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"this is Y"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;appSettings&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;6&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;lt;/&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;configuration&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;引用&lt;span style="line-height: 19px; font-family: Verdana, Arial, Helvetica, sans-serif; white-space: pre; font-size: 13px; "&gt; System.Configuration&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height: 19px; font-family: Verdana, Arial, Helvetica, sans-serif; white-space: pre; font-size: 13px; "&gt;&lt;img src="http://edu.admin5.com/upimg/allimg/110124/1656572.png" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "  alt="" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height: 19px; font-family: Verdana, Arial, Helvetica, sans-serif; white-space: pre; font-size: 13px; "&gt;&lt;span style="line-height: 21px; font-family: verdana, 'courier new'; white-space: normal; font-size: 14px; "&gt;把对App.config的操作合并成了一个类方便调用。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div id="highlighter_451026"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;a  title="view source" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#viewSource" commandname="viewSource" highlighterid="highlighter_451026" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;view source&lt;/a&gt;&lt;a  title="print" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#printSource" commandname="printSource" highlighterid="highlighter_451026" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;print&lt;/a&gt;&lt;a  title="?" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#about" commandname="about" highlighterid="highlighter_451026" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;01&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;using&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;System;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;02&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;using&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;System.Collections.Generic;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;03&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;using&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;System.Text;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;04&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;using&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;System.Configuration;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;05&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;06&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;font color="#008200"&gt;//注意需要引用 System.Configuration&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;07&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;08&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;public&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;class&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;AppConfig&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;09&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;private&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;static&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;11&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;13&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// 获取&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;14&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;/summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;15&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;param name="key"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;16&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;17&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;public&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;static&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;GetValue(&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;key)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;18&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;19&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;strReturn =&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;null&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;(config.AppSettings.Settings[key] !=&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;null&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;21&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;22&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;strReturn = config.AppSettings.Settings[key].Value;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;23&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;24&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;strReturn;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;25&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;26&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;27&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;28&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// 设置&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;29&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;/summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;param name="key"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;31&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;param name="value"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;32&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;public&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;static&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;void&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;SetValue(&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;key,&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;value)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;33&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;34&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;(config.AppSettings.Settings[key] !=&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;null&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;code &gt;)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;35&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;36&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;config.AppSettings.Settings[key].Value = value;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;37&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;38&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;else&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;39&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;40&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;config.AppSettings.Settings.Add(key, value);&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;41&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;42&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;config.Save(ConfigurationSaveMode.Modified);&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;43&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;44&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;45&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;46&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// 删除&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;47&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;/summary&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;48&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;font color="#808080"&gt;/// &amp;lt;param name="key"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;49&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;public&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;static&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;void&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;DelValue(&lt;/code&gt;&lt;code &gt;&lt;strong&gt;&lt;font color="#006699"&gt;string&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&amp;nbsp;&lt;code &gt;key)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;50&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;{&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;51&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;config.AppSettings.Settings.Remove(key);&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;52&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;53&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;使用方法&lt;/p&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div id="highlighter_486258"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;a  title="view source" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#viewSource" commandname="viewSource" highlighterid="highlighter_486258" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;view source&lt;/a&gt;&lt;a  title="print" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#printSource" commandname="printSource" highlighterid="highlighter_486258" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;print&lt;/a&gt;&lt;a  title="?" href="http://www.cnblogs.com/zjfree/archive/2011/01/24/1942929.html#about" commandname="about" highlighterid="highlighter_486258" style="color: #0a0064; text-decoration: none; width: 16px; height: 16px; "&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;font color="#008200"&gt;//修改或添加&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;AppConfig.SetValue(&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"dtNow"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;, DateTime.Now.Millisecond.ToString());&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;&lt;font color="#008200"&gt;//获取&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td &gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;&lt;td &gt;&lt;code &gt;label1.Text = AppConfig.GetValue(&lt;/code&gt;&lt;code &gt;&lt;font color="#0000ff"&gt;"dtNow"&lt;/font&gt;&lt;/code&gt;&lt;code &gt;);&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span  style="line-height: 22px; font-family: Simsun; "&gt;示例代码下载：&lt;a href="http://files.cnblogs.com/zjfree/AppConfig.rar" target="_blank" style="color: #0a0064; text-decoration: none; "&gt;&lt;font color="#1d58d1"&gt;http://files.cnblogs.com/zjfree/AppConfig.rar&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span  style="line-height: 22px; font-family: Simsun; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;div  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/2115895.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/07/25/2115895.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2011/03/30/1999614.html</id><title type="text">json与xml比较</title><summary type="text">JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript（Standard ECMA-262 3rd Edition - December 1999）的一个子集。JSON与XML的比较 ◆可读性 JSON和XML的可读性可谓不相上下，一边是建议的语法，一边是规范的标签形式，很难分出胜负。 ◆可扩展性 XML天生有很好的扩展性，JSON当然也有，没有什么是XML能扩展，JSON不能的。 ◆编码难度 XML有丰富的编码工具，比如Dom4j、JDom等，JSON也有json.org提供的工具，</summary><published>2011-03-30T03:20:00Z</published><updated>2011-03-30T03:20:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2011/03/30/1999614.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2011/03/30/1999614.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: simsun; line-height: 23px; "&gt;JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript（Standard ECMA-262 3rd Edition - December 1999）的一个子集。&lt;br /&gt;JSON与XML的比较&lt;br /&gt;　　&amp;#9670;可读性&lt;br /&gt;　　JSON和XML的可读性可谓不相上下，一边是建议的语法，一边是规范的标签形式，很难分出胜负。&lt;br /&gt;　　&amp;#9670;可扩展性&lt;br /&gt;　　XML天生有很好的扩展性，JSON当然也有，没有什么是XML能扩展，JSON不能的。&lt;br /&gt;　　&amp;#9670;编码难度&lt;br /&gt;　　XML有丰富的编码工具，比如Dom4j、JDom等，JSON也有json.org提供的工具，但是JSON的编码明显比XML容易许多，即使不借助工具也能写出JSON的代码，可是要写好XML就不太容易了。&lt;br /&gt;　　&amp;#9670;解码难度&lt;br /&gt;　　XML的解析得考虑子节点父节点，让人头昏眼花，而JSON的解析难度几乎为0。这一点XML输的真是没话说。&lt;br /&gt;　　&amp;#9670;实例比较&lt;br /&gt;　　XML和JSON都使用结构化方法来标记数据，下面来做一个简单的比较。&lt;br /&gt;　　现假设有一个用户数据包括：用户名、密码、所在部门、性别、年龄。&lt;br /&gt;　　用XML表示如下：&lt;br /&gt;　　&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;　　&amp;lt;user&amp;gt;&lt;br /&gt;　　&amp;lt;name&amp;gt;张三 &amp;lt;/name&amp;gt;&lt;br /&gt;　　&amp;lt;password&amp;gt;123456&amp;lt;/password&amp;gt;&lt;br /&gt;　　&amp;lt;department&amp;gt;技术部&amp;lt;/department&amp;gt;&lt;br /&gt;　　&amp;lt;sex&amp;gt;男&amp;lt;/sex&amp;gt;&lt;br /&gt;　　&amp;lt;old&amp;gt;30&amp;lt;/old&amp;gt;&lt;br /&gt;　　&amp;lt;/user&amp;gt;&lt;br /&gt;　　用JSON表示如下：&lt;br /&gt;　　{&lt;br /&gt;　　"name":"张三",&lt;br /&gt;　　"password":"123456",&lt;br /&gt;　　"department":"技术部",&lt;br /&gt;　　"sex":"男",&lt;br /&gt;　　"old":30&lt;br /&gt;　　}&lt;br /&gt;　　与XML一样，JSON也是基于文本的，且它们都使用Unicode编码，同样具有可读性。XML比较适合于标记文档，而JSON却更适合于时行数据交换处理。&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/1999614.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2011/03/30/1999614.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xinyuxin912/archive/2010/11/29/1891123.html</id><title type="text">[转]如何让ActiveX OCX控件下载并自动更新</title><summary type="text">将控件打包成CAB加数字签名方法实现控件自动更新1、所需工具==============cabarc.exe&amp;#8212;&amp;#8212;&amp;#8212;用于将ocx及所需dll文件打包成cab文件cert2spc.exe&amp;#8212;&amp;#8212;-将cer证书转为spc证书chktrust.exe&amp;#8212;&amp;#8212;-检测签名是否正确makecert.exe&amp;#8212;&amp;#8212;制作...</summary><published>2010-11-29T07:15:00Z</published><updated>2010-11-29T07:15:00Z</updated><author><name>天堂的狼</name><uri>http://www.cnblogs.com/xinyuxin912/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xinyuxin912/archive/2010/11/29/1891123.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xinyuxin912/archive/2010/11/29/1891123.html"/><content type="html">&lt;div &gt;&#xD;
&lt;p&gt;将控件打包成CAB加数字签名方法实现控件自动更新&lt;/p&gt;&lt;span style="line-height: normal; widows: 2; text-transform: none; font-variant: normal; font-style: normal; text-indent: 0px; border-collapse: separate; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(36,38,38); font-size: 16px; font-weight: normal; word-spacing: 0px; font-size-adjust: none; font-stretch: normal" &gt;&lt;span &gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;1、所需工具&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;==============&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;cabarc.exe&amp;nbsp;&amp;#8212;&amp;#8212;&amp;#8212;用于将ocx及所需dll文件打包成cab文件&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;cert2spc.exe&amp;nbsp;&amp;#8212;&amp;#8212;-将cer证书转为spc证书&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;chktrust.exe&amp;nbsp;&amp;#8212;&amp;#8212;-检测签名是否正确&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;makecert.exe&amp;#8212;&amp;#8212;制作数字证书&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;signcode.exe&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;================&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;2、流程&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;以上根据需要来确定采用哪些工具，这里我采用了makecert.exe&amp;nbsp;、cert2spc.exe来制作认证的证书，signcode.来进行数字签名。&lt;br /&gt;&lt;br /&gt;进入DOS状态，进入上述工具所在目录，输入以下命令：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;一、&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;makecert&amp;nbsp;-sv&amp;nbsp;test.pvk&amp;nbsp;-n&amp;nbsp;&amp;#8221;CN=test,E=test@test.com,O=test&amp;#8221;&amp;nbsp;test.cer&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;这个是制作证书，&amp;nbsp;-sv是制作加密的文件,会给证书设定公钥和私钥（-sk则生成没有密钥的证书）,CN是公司，E=EMail，O=认证公司的名称，test.cer是生成文件的名称。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;二、然后运行：Cert2SPC&amp;nbsp;&amp;nbsp;test.cer&amp;nbsp;&amp;nbsp;test.spc&amp;nbsp;&amp;nbsp;将cer证书转为spc证书。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;这时制作的证书是没有任何认证公司认证的，通过认证的一年需要大约400美金。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;三、创建INF文件&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[Version]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;signture=&amp;#8221;$Title$&amp;#8221;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;AdvancedINF=2.5&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[Add.Code]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;Player.ocx&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;Player.ocx&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;avcodec.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;avcodec.dll&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;avformat.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;avformat.dll&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;avutil.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;avutil.dll&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;H264Decoder.dll&amp;nbsp;=&amp;nbsp;&amp;nbsp;H264Decoder.dll&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;NetLink.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;NetLink.dll&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[NetLink.dll]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[avcodec.dll]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[avformat.dll]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[avutil.dll]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[H264Decoder.dll]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;[Player.ocx]&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;file-win32-x86=thiscab&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;clsid={CD55E5EC-F555-5555-5555-555A55C55DC5}&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;RegisterServer=yes&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;FileVersion=1,0,0,2&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;其中大扩后中的类容对于dll文件来说若是不需要注册则可以省略。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;四、使用cabarc.exe将ocx及所需dll文件和inf文件打包成CAB文件包&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;将所需的ocx和dll及inf文件放在同一个目录下，然后在dos下进入到该目录下，键入以下命令：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;F:\Cabsdk\BIN\CABARC&amp;nbsp;-s&amp;nbsp;6144&amp;nbsp;n&amp;nbsp;CamView.CAB&amp;nbsp;Player.ocx&amp;nbsp;avcodec.dll&amp;nbsp;avformat.dll&amp;nbsp;avutil.dll&amp;nbsp;H264Decoder.dll&amp;nbsp;NetLink.dll&amp;nbsp;Player.inf&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;注 意这里&amp;#8220;F:\Cabsdk\BIN\&amp;#8221;是cabarc.exe所在目录，CamView.CAB是要生成的CAB文 件，NetLink.dll&amp;nbsp;&amp;nbsp;avcodec.dll&amp;nbsp;avformat.dll&amp;nbsp;avutil.dll&amp;nbsp;H264Decoder.dll&amp;nbsp;Player.ocx&amp;nbsp;&amp;nbsp;Player.inf 是所需的文件，按重要顺序排列，inf文件放在最后。系统提示成功之后，会在ocx同目录下生成CamView.CAB文件。打包还可以使用其他工具，如 老毛桃cab打包等。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;五、使用signcode.exe给OCX文件进行数字签名。（图形化界面操作）&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;双击signcode.exe后出现一个数字签名向导&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;选择需要签名的文件(CamView.cab)&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;这里选择了自定义&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;选择签名证书，从文件选择，选择刚才做好的test.spc&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;私钥，磁盘上的私钥文件，点浏览选择刚才做好的test.pvk&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;输入密码&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;选择算法，这里我选择的是sha1&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;默认&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;描述：输入安装证书时提示的文字，随便输入&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;时间&amp;nbsp;&amp;nbsp;&amp;nbsp;默认&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;下一步&amp;nbsp;&amp;nbsp;&amp;nbsp;完成&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;六、将CAb文件挂上服务器并修改网页中控件部分&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;&amp;lt;OBJECT&amp;nbsp;id=CamViewer&amp;nbsp;classid=&amp;#8221;clsid:CD55E5EC-F555-5555-5555-555A55C55DC5&amp;#8243;&amp;nbsp;CODEBASE=&amp;#8221;CamView.CAB#version=1,0,0,2&amp;#8243;height=500&amp;nbsp;width=645&amp;nbsp;hspace=0&amp;nbsp;vspace=0&amp;nbsp;VIEWASTEXT&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;/OBJECT&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;其中CODEBASE=&amp;#8221;这里填写CAB文件的路径，#version=1,0,0,2&amp;#8243;是控件的版本号，要与ocx的版本号一致。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;&lt;span &gt;七、升级&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;&lt;span &gt;只要在源代码中更改Player.ocx文件中对应的版本&amp;nbsp;号，并同时更改网页调用控件的版本号就可以了，下一次客户访问这个页面时会自动检测并提示&lt;/span&gt;安装新控件，新控件会覆盖旧版本的控件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; border-right-width: 0px; margin: 0px 0px 9px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; color: rgb(77,77,77); font-size: 13px; border-left-width: 0px; padding-top: 0px"&gt;原文地址：&lt;a href="http://hi.baidu.com/knowise/blog/item/81b666971e11db6154fb96fc.html"&gt;http://hi.baidu.com/knowise/blog/item/81b666971e11db6154fb96fc.html&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/xinyuxin912/aggbug/1891123.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xinyuxin912/archive/2010/11/29/1891123.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
