<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_.NET--&gt;&gt;BlueSpace</title><subtitle type="text">I Belive I Can Fly!!!</subtitle><id>http://feed.cnblogs.com/blog/u/27031/rss</id><updated>2012-01-17T09:40:01Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/27031/rss"/><entry><id>http://www.cnblogs.com/bluespace/archive/2012/01/17/2324916.html</id><title type="text">国务院：建立质量黑名单并向社会公开</title><summary type="text">据新华社电 国务院总理温家宝11日主持召开国务院常务会议，研究部署进一步加强质量工作。 会议认为，我国质量水平的提高仍然滞后于经济发展，产品、工程等质量问题造成的经济损失、环境污染、资源浪费仍然比较严重，质量安全特别是食品安全事故时有发生。一些生产经营者质量诚信缺失，肆意制售假冒伪劣产品，破坏市场秩序和社会公正，危害人民群众生命健康安全，损害国家信誉和形象。 会议指出，质量不仅是企业和产业核心竞争力的体现，也是一个国家文明程度的体现；质量问题不仅是技术和管理问题，更是法治和诚信道德问题。做好质量工作，必须从强化法治、落实责任、加强教育、增强全社会质量意识入手，综合施策，标本兼治，全面提...</summary><published>2012-01-17T09:40:00Z</published><updated>2012-01-17T09:40:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324916.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324916.html"/><content type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 据新华社电 国务院总理温家宝11日主持召开国务院常务会议，研究部署进一步加强质量工作。 &#xD;
&lt;p&gt;会议认为，我国质量水平的提高仍然滞后于经济发展，产品、工程等质量问题造成的经济损失、环境污染、资源浪费仍然比较严重，质量安全特别是食品安全事故时有发生。一些生产经营者质量诚信缺失，肆意制售假冒伪劣产品，破坏市场秩序和社会公正，危害人民群众生命健康安全，损害国家信誉和形象。&lt;/p&gt;&#xD;
&lt;p&gt;会议指出，质量不仅是企业和产业核心竞争力的体现，也是一个国家文明程度的体现；质量问题不仅是技术和管理问题，更是法治和诚信道德问题。做好质量工作，必须从强化法治、落实责任、加强教育、增强全社会质量意识入手，综合施策，标本兼治，全面提高各行各业的质量管理水平。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;　　&amp;#9632; 八项举措&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;　　质量信用信息将多部门共享&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;一要严格企业质量主体责任。企业主要负责人对质量安全负首要责任。企业要建立健全质量管理体系，严格质量控制、质量检验和计量检测。要严格执行重大质量事故报告及应急处理制度，切实履行质量担保责任及缺陷产品召回等法定义务，依法承担质量损害赔偿责任。&lt;/p&gt;&#xD;
&lt;p&gt;二要强化质量安全监管。制定实施国家重点监管产品目录。加强对重点产品、重点行业和重点地区的质量安全风险监测和分析评估。&lt;/p&gt;&#xD;
&lt;p&gt;三要加快质量法治建设。依法严厉打击危害公共安全、人身健康和生命财产安全等质量违法行为，加大对质量违法行为的刑事司法打击力度。&lt;/p&gt;&#xD;
&lt;p&gt;四要加强标准化、计量、认证认可和检验检测等质量基础工作。加快标准体系和检验检测技术保障体系建设，提高检验检测能力。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;&lt;strong&gt;五要推进质量诚信体系建设。搭建质量信用信息平台，实现银行、商务、海关、税务、工商、质检、工业、保险、统计等多部门质量信用信息互通与共享。完善企业质量档案和产品质量信用信息记录，建立质量失信&amp;#8220;黑名单&amp;#8221;并向社会公开。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;六要大力实施名牌发展战略。&lt;/p&gt;&#xD;
&lt;p&gt;七要完善质量工作体制机制。健全地方政府负总责、监管部门各负其责、企业是第一责任人的质量安全责任体系，充分运用经济、法律、行政等手段，维护质量安全。&lt;/p&gt;&#xD;
&lt;p&gt;八要加强质量文化建设。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2324916.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324916.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/archive/2012/01/17/2324841.html</id><title type="text">洛阳市社会保险缴纳比例</title><summary type="text">企业按实得工资计提基金: 退休养老基金：（国有、集体、股份、外资）33%，其中单位28%，个人5%（私营、个体）22%，其中单位17%，个人5% 失业保险基金：3%，其中单位2%，个人1% 女工生育基金：0.8% 工伤基金：0.5-1.5% 住房公积金：10%，其中单位、个人各占5% 医疗保险基金：8.5%，其中单位6.5%，个人2%</summary><published>2012-01-17T08:41:00Z</published><updated>2012-01-17T08:41:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324841.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324841.html"/><content type="html">&lt;strong&gt;企业按实得工资计提基金:&lt;/strong&gt;&lt;br /&gt;&lt;font size="3" face="宋体"&gt;　　退休养老基金：（国有、集体、股份、外资）33%，其中单位28%，个人5%&lt;br /&gt;（私营、个体）22%，其中单位17%，个人5%&lt;br /&gt;　　失业保险基金：3%，其中单位2%，个人1%&lt;br /&gt;　　女工生育基金：0.8%&lt;br /&gt;　　工伤基金：0.5-1.5%&lt;br /&gt;　　住房公积金：10%，其中单位、个人各占5%&lt;br /&gt;　　医疗保险基金：8.5%，其中单位6.5%，个人2%&lt;br /&gt;&lt;/font&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2324841.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/archive/2012/01/17/2324841.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/2321428.html</id><title type="text">图文讲解如何对SQL Server进行日志截断</title><summary type="text">对SQL Server进行日志截断（图文） 1.全备数据库 首先，选择需要进行日志截断的数据库，选择备份数据库。 选择备份数据库然后，选择完全备份。 选择完全备份2.执行 backup log 数据库名 with no_log ; 在备份完成之后，我们需要进入查询分析器，选择该数据服务器的Master库，运行上文中的SQL语句。 运行上文中的SQL语句3.最后，收缩数据库的日志文件 收缩数据库收缩数据库注意：一定要选中日志文件，否则会出现收缩数据文件的现象..... 选中日志文件下面的步骤不再赘述，只需要一路点击确定即可完成此操作。</summary><published>2012-01-13T04:04:00Z</published><updated>2012-01-13T04:04:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/2321428.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/2321428.html"/><content type="html">对SQL Server进行日志截断（图文） &#xD;
&lt;p&gt;&lt;strong&gt;1.全备数据库&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;首先，选择需要进行日志截断的数据库，选择备份数据库。 &lt;/p&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断" src="http://www.xker.com/xkerfiles/allimg/080507/1531270.jpg" /&gt;&lt;br /&gt;选择备份数据库&lt;/center&gt;&#xD;
&lt;p&gt;然后，选择完全备份。 &lt;/p&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断" src="http://i2.sinaimg.cn/IT/cr/2008/0507/214008665.jpg" /&gt;&lt;br /&gt;选择完全备份&lt;/center&gt;&#xD;
&lt;div &gt;&amp;nbsp;&lt;strong&gt;2.执行&lt;/strong&gt; &#xD;
&lt;p&gt;backup log 数据库名 with no_log ; &lt;/p&gt;&#xD;
&lt;p&gt;在备份完成之后，我们需要进入查询分析器，选择该数据服务器的Master库，运行上文中的SQL语句。 &lt;/p&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断(2)" src="http://i2.sinaimg.cn/IT/cr/2008/0507/1616255334.jpg" /&gt;&lt;br /&gt;运行上文中的SQL语句&lt;/center&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.最后，收缩数据库的日志文件&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断(2)" src="http://i3.sinaimg.cn/IT/cr/2008/0507/1613740128.jpg" /&gt;&lt;br /&gt;收缩数据库&lt;/center&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断(2)" src="http://i1.sinaimg.cn/IT/cr/2008/0507/1611511906.jpg" /&gt;&lt;br /&gt;收缩数据库&lt;/center&gt;&#xD;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;一定要选中日志文件，否则会出现收缩数据文件的现象..... &lt;/p&gt;&#xD;
&lt;center&gt;&lt;img style="border-bottom: black 1px solid; border-left: black 1px solid; border-top: black 1px solid; border-right: black 1px solid" alt="图文讲解如何对SQLServer进行日志截断(2)" src="http://i3.sinaimg.cn/IT/cr/2008/0507/1600083812.jpg" /&gt;&lt;br /&gt;选中日志文件&lt;/center&gt;&#xD;
&lt;p&gt;下面的步骤不再赘述，只需要一路点击确定即可完成此操作。&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2321428.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/2321428.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/2320796.html</id><title type="text">[亲测]服务器的w3wp.exe进程占用cpu和内存过多问题 解决办法</title><summary type="text">1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。2、设置应用程序池的回收时间，默认为1720小时，可以根据情况修改。再设置当内存占用超过多少（如500M），就自动回收内存。我的设置如下：首先是对CPU的限制：在启用cpu监视后，我设置该应用程序池最大的cpu使用率为50%。设置刷新cpu时间为1分钟，设置操作为“关闭”。最大工作进程数设置为1。这个意思是，IIS刷新检测该独立池的CPU使用情况时间为1分钟，如果超过设置的cpu限制50％，就会发出关闭池的指令，要求池在指定的时间内关闭。如果池成功在这个时间内关闭，IIS会重启动一个新池，此段时间很短，一般不会有什么感觉，池就</summary><published>2012-01-12T08:40:00Z</published><updated>2012-01-12T08:40:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/2320796.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/2320796.html"/><content type="html">&lt;p style="line-height: 15pt"&gt;&lt;span&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、在IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;中对每个网站进行单独的应用程序池配置。即互相之间不影响。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、设置应用程序池的回收时间，默认为1720&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;小时，可以根据情况修改。再设置当内存占用超过多少（如500M&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;），就自动回收内存。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;我的设置如下：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;首先是对CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的限制：在启用cpu&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;监视后，我设置该应用程序池最大的cpu&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;使用率为50%&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;。设置刷新cpu&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;时间为1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;分钟，设置操作为&amp;#8220;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;关闭&amp;#8221;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;。最大工作进程数设置为1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;。这个意思是，IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;刷新检测该独立池的CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;使用情况时间为1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;分钟，如果超过设置的cpu&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;限制50&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;％，就会发出关闭池的指令，要求池在指定的时间内关闭。如果池成功在这个时间内关闭，IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;会重启动一个新池，此段时间很短，一般不会有什么感觉，池就重新开启了，对于访问网站的人基本是不会有感觉的。但如果池没有在指定时间内关闭，IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;就会强行关闭它一个刷新CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;时间。在这个停止的时间内，网站无法访问，提示&amp;#8220;Service Unavaliable&amp;#8221;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 15pt"&gt;&lt;span style="font-family: 宋体"&gt;&amp;nbsp;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/bluespace/1.jpg" width="471" height="435" /&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;关闭时间和启动时间间隔设置：设短一些比如10&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;秒，这样当您的网站程序大量占用系统资源时IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;自动快速回收进程并且快速启动进程，您的网站暂时还可以将就着工作。&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&#xD;
&lt;p style="line-height: 15pt"&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/bluespace/2.jpg" width="469" height="436" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;对内存的限制及进程回收时间的设置：我设置为内存占用超过800M&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;就自动回收内存,&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;虚拟内存没有做限制。进程回收时间我保持默认没有修改。各位可以根据自己的情况设置更短的时间。对应用程序池最大虚拟内存也可以在此进行设置，超过了设置的最大虚拟内存，该池会就被回收。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 15pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/bluespace/3.jpg" width="469" height="437" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;最后综合落伍wlmmc&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的一些经验，总结一些需要注意的问题：&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;br /&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、 &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;要限制一个站点的CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;使用，必须将该站点设置为独立应用程序池，共用应用程序池是无法限制单个站点的。IIS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;独立应用程序池，就需要独立的进程，非常消耗内存。独立池越多，就有越多的W3WP&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;进程。对于每个站点均要独立应用程序池的&lt;a href="http://www.jzxue.com/Html/kongjian/" target="_blank"&gt;&lt;span style="font-family: 宋体; color: #333333; text-decoration: none; text-underline: none"&gt;&lt;span&gt;服务器&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，在一般的普通P43.0 2G&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;内存 &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的普通&lt;a href="http://www.jzxue.com/Html/kongjian/" target="_blank"&gt;&lt;span style="font-family: 宋体; color: #333333; text-decoration: none; text-underline: none"&gt;&lt;span&gt;服务器&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;上，建议不要超过50&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;个站点，最好30&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;以内，不然&lt;a href="http://www.jzxue.com/Html/kongjian/" target="_blank"&gt;&lt;span style="font-family: 宋体; color: #333333; text-decoration: none; text-underline: none"&gt;&lt;span&gt;服务器&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;压力非常大。在配置上，我一般把资源消耗较大的网站独立一个池，一般普通BBS&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;或者生成HTML&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的系统大概5&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;个站一个池。普通网站以及一些企业站点均共用一个池。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;br /&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、根据wlmmc&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的经验，在&lt;a href="http://www.jzxue.com/Html/kongjian/" target="_blank"&gt;&lt;span style="font-family: 宋体; color: #333333; text-decoration: none; text-underline: none"&gt;&lt;span&gt;服务器&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;硬件允许的情况下，一般不要限制站点内存使用，这样能够保证网站运行，不会出现用户掉线情况。需要限制某站的最大虚拟内存不要小于64M&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，不然可能出现一些未知的错误。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;br /&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、这些都不是根本解决办法，它的根本问题是网站程序有问题，要解决根本问题还要从程序查起。根据本文开头提到的方法查到具体的应用程序池，找到使用此应用程序池的网站，解决网站程序存在的问题，如死循环之类。&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #3c3c3c"&gt;&lt;br /&gt;&lt;br /&gt;4&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;、除了w3wp.exe, &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在调用数据库进行大量查询操作的时候，也会大量占用CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;资源，这是难免的（数据库方面的语句及结构优化不在本文讨论范围之内）。个人认为，只要不是CPU&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;长时间占用100%&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;， &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;一般在75%&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;左右都是正常的。 &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2320796.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/2320796.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/2320781.html</id><title type="text">asp.net－－用户角色篇</title><summary type="text">创建用户：MembershipCreateStatus mc;Membership.CreateUser(txtUid.Text, txtPwd.Text, txtEmail.Text, txtQuestion.Text, txtAnswer.Text, true, out mc);Response.Write(mc.ToString());删除用户：if (Membership.DeleteUser(txtUid.Text))Response.Write(&amp;quot;OK&amp;quot;);elseResponse.Write(&amp;quot;Error&amp;quot;);修改用户信息：if (User</summary><published>2012-01-12T08:31:00Z</published><updated>2012-01-12T08:31:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/2320781.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/2320781.html"/><content type="html">&lt;div id="cnblogs_post_body"&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;创建用户：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;MembershipCreateStatus&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; mc;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Membership&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.CreateUser(txtUid.Text, txtPwd.Text, txtEmail.Text, txtQuestion.Text, txtAnswer.Text, &lt;span style="color: blue"&gt;true&lt;/span&gt;, &lt;span style="color: blue"&gt;out&lt;/span&gt; mc);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Response.Write(mc.ToString());&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;删除用户：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (&lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.DeleteUser(txtUid.Text))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;Response.Write(&lt;span style="color: #a31515"&gt;"OK"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;else&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20.25pt; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;Response.Write(&lt;span style="color: #a31515"&gt;"Error"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;修改用户信息：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (User.Identity.IsAuthenticated)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;MembershipUser&lt;/span&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;user.Email = txtEmail.Text;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.UpdateUser(user);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;Response.Write(user.Email.ToString());&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;验证用户登录信息&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;bool&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; isok = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.ValidateUser(txtUid.Text, txtPwd.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (isok)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;FormsAuthentication&lt;/span&gt;.SetAuthCookie(txtUid.Text, &lt;span style="color: blue"&gt;false&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;Response.Write(&lt;span style="color: #a31515"&gt;"OK"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;else&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;Response.Write(&lt;span style="color: #a31515"&gt;"Error"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;获取登录用户的信息&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (User.Identity.IsAuthenticated)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;MembershipUser&lt;/span&gt; myuser = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (myuser != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.CreationDate);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.Email);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.IsLockedOut);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.IsOnline);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.PasswordQuestion);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;Response.Write(myuser.UserName);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;根据密码问题的答案返回用户密码&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (User.Identity.IsAuthenticated)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;MembershipUser&lt;/span&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser(txtUid.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;txtPwd.Text = user.GetPassword(txtAnswer.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;修改用户密码&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (User.Identity.IsAuthenticated)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;MembershipUser&lt;/span&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;user.ChangePassword(txtPwd.Text,txtPWd2.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;Response.Write(user.GetPassword(txtAnswer.Text));&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;解锁用户&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;MembershipUser&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser(txtUid.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;bool&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; b = user.UnlockUser();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;Response.Write(b+&lt;span style="color: #a31515"&gt;" "&lt;/span&gt;+user.IsLockedOut);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;拒绝用户登录&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;MembershipUser&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser(txtUid.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;user.IsApproved = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Membership&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.UpdateUser(user);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;Response.Write(user.IsLockedOut);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;允许用户登录&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;MembershipUser&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetUser(txtUid.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;user.IsApproved = &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Membership&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.UpdateUser(user);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;Response.Write(user.IsLockedOut);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;根据用户名或邮箱来检索用户&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span style="color: #2b91af"&gt;MembershipUserCollection&lt;/span&gt;&lt;span&gt; users;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span style="color: blue"&gt;switch&lt;/span&gt;&lt;span&gt;(listType.Text)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　 &lt;span style="color: blue"&gt;case&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;span style="color: #a31515"&gt;姓名&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;users = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.FindUsersByName(txtFind.Text);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;if&lt;/span&gt;&lt;span&gt; (users.Count &amp;gt; 0)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt; &lt;/span&gt;showUserInfo(users);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt; &lt;/span&gt;Response.Write(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;span style="color: #a31515"&gt;未找到用户名&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　 &lt;span style="color: blue"&gt;case&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;span style="color: #a31515"&gt;邮箱&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;users = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.FindUsersByEmail(txtFind.Text);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;if&lt;/span&gt;&lt;span&gt; (users.Count &amp;gt; 0)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt; &lt;/span&gt;showUserInfo(users);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt; &lt;/span&gt;Response.Write(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;span style="color: #a31515"&gt;未找到邮箱&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　　&lt;span style="color: blue"&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;　&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;加载所有用户&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;MembershipUserCollection&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; user = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GetAllUsers();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;listUser.DataSource = user;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;listUser.DataBind();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;加载所有角色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;string&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;[] role = &lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.GetAllRoles();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;listRole.DataSource = role;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;listRole.DataBind();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;添加新角色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.CreateRole(txtRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;删除角色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.DeleteRole(txtRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将一个用户添加到一个角色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.AddUserToRole(listUser.Text, listRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将一个用户从一个角色中移除&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.RemoveUserFromRole(listUser.Text, listRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将一个用户加入到多个角色中去&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; n = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listRole.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (li.Selected) n++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;[] roles = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[n];&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; i=0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listRole.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt;(li.Selected)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;roles[i++] = li.Text;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.AddUserToRoles(listUser.Text, roles);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将一个用户的所有角色移除&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;string&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;[] str = &lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.GetRolesForUser(listUser.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.RemoveUserFromRoles(listUser.Text,str);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将多个用户加入到一个角色中去&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; n = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listUser.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (li.Selected) n++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;[] users = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[n];&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; i=0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listUser.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (li.Selected)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;users[i++] = li.Text;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.AddUsersToRole(users,listRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将一个角色中的所有的用户移除&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: blue; font-size: 10pt"&gt;string&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;[] users = &lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.GetUsersInRole(listRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="color: #2b91af; font-size: 10pt"&gt;Roles&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;.RemoveUsersFromRole(users, listRole.Text);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;将多个用户加入到多个角色&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; n = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listUser.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (li.Selected) n++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;[] strUser = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[n];&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;n = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ListItem&lt;/span&gt; li &lt;span style="color: blue"&gt;in&lt;/span&gt; listRole.Items)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (li.Selected) n++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;[] strRoles = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[n];&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;for&lt;/span&gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt; listUser.Items.Count; i++)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;strUser[i] = listUser.Items[i].Text;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;for&lt;/span&gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt; listRole.Items.Count; i++)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;strRoles[i] = listRole.Items[i].Text;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt" align="left"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Roles&lt;/span&gt;.AddUsersToRoles(strUser, strRoles);&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2320781.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/2320781.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/2218689.html</id><title type="text">C#中ArrayList 与 string、string[]数组 的转换</title><summary type="text">1、ArrarList 转换为 string[] ： ArrayList list = new ArrayList(); list.Add(&amp;quot;aaa&amp;quot;); list.Add(&amp;quot;bbb&amp;quot;); //转换成数组 string[] arrString = (string[])list.ToArray(typeof( string)) ; 2、string[] 转换为 ArrarList ： ArrayList list = new ArrayList(new string[] { &amp;quot;aaa&amp;quot;, &amp;quot;bbb&amp;quot; }); 3、Ar</summary><published>2011-10-20T03:07:00Z</published><updated>2011-10-20T03:07:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/2218689.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/2218689.html"/><content type="html">&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1、ArrarList 转换为 string[] ： &lt;br /&gt;&lt;p&gt;ArrayList list = new ArrayList();&lt;/p&gt;&lt;br /&gt;&lt;p&gt;list.Add("aaa");&lt;/p&gt;&lt;br /&gt;&lt;p&gt;list.Add("bbb");&lt;/p&gt;&lt;br /&gt;&lt;p&gt;//转换成数组&lt;/p&gt;&lt;br /&gt;&lt;p&gt;string[] arrString = (string[])list.ToArray(typeof( string)) ;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2、string[] 转换为 ArrarList ：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;ArrayList list = new ArrayList(new string[] { "aaa", "bbb" });&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3、ArrayList 转换为 string ：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;ArrayList list = new ArrayList();&lt;/p&gt;&lt;br /&gt;&lt;p&gt;list.Add("aaa");&lt;/p&gt;&lt;br /&gt;&lt;p&gt;list.Add("bbb");&lt;/p&gt;&lt;br /&gt;&lt;p&gt;//转换成数组&lt;/p&gt;&lt;br /&gt;&lt;p&gt;string str= string.Join(",", (string[])list.ToArray(typeof( string)));&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4、string 转换为 ArrayList ：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;string str="1,2,3,4,5";&lt;/p&gt;&lt;br /&gt;&lt;p&gt;ArrayList b = new ArrayList( str.Split(',') ) ;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2218689.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/2218689.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/2047988.html</id><title type="text">关于ajax toolkit中的下拉菜单method error 500问题</title><summary type="text">似乎都和webservice有关，发现有四种可能导致错误：1、webservice中的方法参数签名必须是string knownCategoryValues, string category似乎不能修改。2、[System.Web.Script.Services.ScriptService]必须在类前面。3、webservice路径错误。4、应用方法名错误。</summary><published>2011-05-16T10:32:00Z</published><updated>2011-05-16T10:32:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/2047988.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/2047988.html"/><content type="html">&#xD;
 &#xD;
似乎都和webservice有关，发现有四种可能导致错误：&lt;br /&gt;1、webservice中的方法参数签名必须是string &lt;br /&gt;knownCategoryValues, string &lt;br /&gt;category似乎不能修改。&lt;br /&gt;2、[System.Web.Script.Services.ScriptService]必须在类前面。&lt;br /&gt;3、webservice路径错误。&lt;br /&gt;4、应用方法名错误。&lt;img src="http://www.cnblogs.com/bluespace/aggbug/2047988.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/2047988.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/1902437.html</id><title type="text">C#中Dictionary的用法及用途实例 转</title><summary type="text">Dictionary&amp;lt;string, string&amp;gt;是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的：Dictionary&amp;lt;[key], [value]&amp;gt; 他的特点是存入对象是需要与[key]值一一对应的存入该泛型 通过某一个一定的[key]去找到对应的值 举个例子： //实例化对象 Dictionary&amp;lt;int, string&amp;gt; dic = new Dictionary&amp;lt;int, string&amp;gt;(); //对象打点添加 dic.Add(1, "one"); dic.Add(2, "two"); dic.Add(3, "one"); //提取元素的方法 string a </summary><published>2010-12-10T08:13:00Z</published><updated>2010-12-10T08:13:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/1902437.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/1902437.html"/><content type="html">&lt;div id="app-share-content"&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Dictionary&amp;lt;string, string&amp;gt;是一个泛型 &lt;/p&gt;&#xD;
&lt;p&gt;他本身有集合的功能有时候可以把它看成数组 &lt;/p&gt;&#xD;
&lt;p&gt;他的结构是这样的：Dictionary&amp;lt;[key], [value]&amp;gt; &lt;/p&gt;&#xD;
&lt;p&gt;他的特点是存入对象是需要与[key]值一一对应的存入该泛型 &lt;/p&gt;&#xD;
&lt;p&gt;通过某一个一定的[key]去找到对应的值 &lt;/p&gt;&#xD;
&lt;p&gt;举个例子： &lt;/p&gt;&#xD;
&lt;p&gt;//实例化对象 &lt;/p&gt;&#xD;
&lt;p&gt;Dictionary&amp;lt;int, string&amp;gt; dic = new Dictionary&amp;lt;int, string&amp;gt;(); &lt;/p&gt;&#xD;
&lt;p&gt;//对象打点添加 &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(1, "one"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(2, "two"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(3, "one"); &lt;/p&gt;&#xD;
&lt;p&gt;//提取元素的方法 &lt;/p&gt;&#xD;
&lt;p&gt;string a = dic[1]; &lt;/p&gt;&#xD;
&lt;p&gt;string b = dic[2]; &lt;/p&gt;&#xD;
&lt;p&gt;string c = dic[3]; &lt;/p&gt;&#xD;
&lt;p&gt;//1、2、3是键，分别对应&amp;#8220;one&amp;#8221;&amp;#8220;two&amp;#8221;&amp;#8220;one&amp;#8221; &lt;/p&gt;&#xD;
&lt;p&gt;//上面代码中分别把值赋给了a,b,c &lt;/p&gt;&#xD;
&lt;p&gt;//注意,键相当于找到对应值的唯一标识，所以不能重复 &lt;/p&gt;&#xD;
&lt;p&gt;//但是值可以重复 &lt;/p&gt;&#xD;
&lt;p&gt;如果你还看不懂我最后给你举一个通俗的例子 &lt;/p&gt;&#xD;
&lt;p&gt;有一缸米，你想在在每一粒上都刻上标记，不重复，相当于&amp;#8220;键&amp;#8221;当你找的时候一一对应不会找错，这就是这个泛型的键的-作用，而米可以一样，我的意思你明白了吧？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;-------------------------------------------------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;c# 对dictionary类进行排序用什么接口实现&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果使用.Net Framework 3.5的话，事情就很简单了。呵呵。 &lt;/p&gt;&#xD;
&lt;p&gt;如果不是的话，还是自己写排序吧。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;using System; &lt;/p&gt;&#xD;
&lt;p&gt;using System.Collections.Generic; &lt;/p&gt;&#xD;
&lt;p&gt;using System.Text; &lt;/p&gt;&#xD;
&lt;p&gt;using System.Linq; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;namespace DictionarySorting &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;class Program &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;static void Main(string[] args) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;Dictionary&amp;lt;int, string&amp;gt; dic = new Dictionary&amp;lt;int, string&amp;gt;(); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(1, "HaHa"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(5, "HoHo"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(3, "HeHe"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(2, "HiHi"); &lt;/p&gt;&#xD;
&lt;p&gt;dic.Add(4, "HuHu"); &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;var result = from pair in dic orderby pair.Key select pair; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;foreach (KeyValuePair&amp;lt;int, string&amp;gt; pair in result) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;Console.WriteLine("Key:{0}, Value:{1}", pair.Key, pair.Value); &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Console.ReadKey(); &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;【执行结果】 &lt;/p&gt;&#xD;
&lt;p&gt;Key:1, Value:HaHa &lt;/p&gt;&#xD;
&lt;p&gt;Key:2, Value:HiHi &lt;/p&gt;&#xD;
&lt;p&gt;Key:3, Value:HeHe &lt;/p&gt;&#xD;
&lt;p&gt;Key:4, Value:HuHu &lt;/p&gt;&#xD;
&lt;p&gt;Key:5, Value:HoHo&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Dictionary的基本用法。假如&lt;/p&gt;&#xD;
&lt;p&gt;需求：现在要导入一批数据，这些数据中有一个称为公司的字段是我们数据库里已经存在了的，目前我们需要把每个公司名字转为ID后才存入数据库。&lt;/p&gt;&#xD;
&lt;p&gt;分析：每导一笔记录的时候，就把要把公司的名字转为公司的ID，这个不应该每次都查询一下数据库的，因为这太耗数据库的性能了。&lt;/p&gt;&#xD;
&lt;p&gt;解决方案：在业务层里先把所有的公司名称及相应的公司ID一次性读取出来，然后存放到一个Key和Value的键值对里，然后实现只要把一个公司的名字传进去，就可以得到此公司相应的公司ID，就像查字典一样。对，我们可以使用字典Dictionary操作这些数据。&lt;/p&gt;&#xD;
&lt;p&gt;示例：SetKeyValue()方法相应于从数据库里读取到了公司信息。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// 定义Key为string类型，Value为int类型的一个Dictionary&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;protected Dictionary&amp;lt;string, int&amp;gt; SetKeyValue()&lt;br /&gt;{&lt;br /&gt;Dictionary&amp;lt;string, int&amp;gt; dic = new Dictionary&amp;lt;string, int&amp;gt;();&lt;br /&gt;dic.Add("公司1", 1);&lt;br /&gt;dic.Add("公司2", 2);&lt;br /&gt;dic.Add("公司3", 3);&lt;br /&gt;dic.Add("公司4", 4);&lt;br /&gt;return dic;&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// 得到根据指定的Key行到Value&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;protected void GetKeyValue()&lt;br /&gt;{&lt;br /&gt;Dictionary&amp;lt;string, int&amp;gt; myDictionary = SetKeyValue();&lt;br /&gt;//测试得到公司2的值&lt;br /&gt;int directorValue = myDictionary["公司2"];&lt;br /&gt;Response.Write("公司2的value是：" + directorValue.ToString());&lt;br /&gt;}&#xD;
&lt;div style="display: none" id="appShareSafeLinkTip"&gt;&amp;nbsp;&lt;/div&gt;来自: &lt;a href="http://hi.baidu.com/helyee/blog/item/db0f39d57430cdc850da4b02.html" target="_blank"&gt;&lt;font color="#9a9a9a"&gt;http://hi.baidu.com/helyee/blog/item/db0f39d57430cdc850da4b02.html&lt;/font&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/1902437.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/1902437.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/1898625.html</id><title type="text">程序员从初级到中级10个秘诀</title><summary type="text">1.学习另一门语言其实你学的是哪一门语言并没有关系，但是学习另一门语言（不管你已经了解多少种语言）将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的语言则更佳。打个比方，如果你是C#程序员，学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大。我说“学另一门语言”的意思是要真正学会它。学习一门语言包括三个领域的知识：语法、内置操作符和库，以及“如何使用”。前面两个简单；我认为一名有经验的程序员，根据语言的不同，能在半小时到几小时内掌握足以维护代码的语法知识。操作符和库只不过是知识逐步积累的过程，你什么时候想清楚要了解什么了，再去查阅参考材料也不迟。只有第三项</summary><published>2010-12-07T00:48:00Z</published><updated>2010-12-07T00:48:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/1898625.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/1898625.html"/><content type="html">&lt;p&gt;&lt;strong&gt;1.学习另一门语言&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;其实你学的是哪一门语言并没有关系，但是学习另一门语言（不管你已经了解多少种语言）将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的语言则更佳。打个比方，如果你是C#程序员，学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大。&lt;/p&gt;&#xD;
&lt;p&gt;我说&amp;#8220;学另一门语言&amp;#8221;的意思是要真正学会它。学习一门语言包括三个领域的知识：语法、内置操作符和库，以及&amp;#8220;如何使用&amp;#8221;。前面两个简单；我认为一名有经验的程序员，根据语言的不同，能在半小时到几小时内掌握足以维护代码的语法知识。操作符和库只不过是知识逐步积累的过程，你什么时候想清楚要了解什么了，再去查阅参考材料也不迟。只有第三项，&amp;#8220;如何使用它&amp;#8221;-要花上你几个月的时间去跟这门语言打交道，真正的奇迹就在此发生。我建议用这门语言的风格去做一个适合该语言的项目。&lt;/p&gt;&#xD;
&lt;p&gt;真正学会了另一门语言之后，我敢保证你的程序员水平一定会突飞猛进。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;2.学习先进的搜索技术、手段和及策略&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;作为一名好的程序员，不仅仅是技能的问题了，而是你寻找信息的技巧，这个趋势越来越明显。对大部分人而言，仅仅输入&amp;#8220;现代语言及开发框架&amp;#8221;，这都是泛泛之谈，记不住多少的。因此，你完成工作的能力通常取决于你的检索能力。不幸的是，了解到如何找到准确而高质量的信息可不仅仅是跑到TechRepublic来找答案，或者在你选好的搜索引擎上敲几个字那么简单。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#8220;技术（Techniques）&amp;#8221;、&amp;#8220;手段（tactics）&amp;#8221;和&amp;#8220;策略（strategies）&amp;#8221;看起来是一回事，实际上并非如此。你需要学会的技术是掌握你喜爱的搜索引擎的高级搜索系统；你需要了解诸如布尔操作符，如何过滤结果（像&amp;#8220;非&amp;#8221;关键字，域限制等等），关键字的词序扮演什么角色，等等。一句话，RTFM（Read The Fucking Manual，读那些他妈的手册）吧。&lt;/p&gt;&#xD;
&lt;p&gt;你应该学会这些手段，诸如如何接近特定的搜索，以及了解自己实际上想查些什么。查错误很容易&amp;#8212;只需查出错代码即可&amp;#8212;但是许多搜索的关键字选择要困难得多。&lt;/p&gt;&#xD;
&lt;p&gt;至于策略，你需要学会的东西，包括像应该使用哪种搜索引擎（提示：普通的搜索引擎不一定就是最佳选择），使用普通搜索引擎前应该访问哪个网站，甚至是应该到哪个论坛去寻求帮助，等等。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.帮助别人&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;教别人始终是学习一切东西的最好方法之一。相对而言，由于你在开发领域还是个新手，认为自己没什么可教给人家的，这可以理解。但这毫无意义。记住，你所学到的一切都是你从别人或别处学到的；因此请尝试一下，成为另外一个人要请教的&amp;#8220;别人&amp;#8221;。每天尽量花一点时间试着回答TechRepublic上的问题，其他网站的亦可。读读其他会员的回答，你也可以学到很多东西。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.有耐心，常练习&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;研究表明，要成为一名&amp;#8220;专家&amp;#8221;，需要花费10年，或者10000到20000小时的刻意练习时间。真的很久。还有，成为专家不尽然就是执行10年同样的任务；通常这意味着要在特定领域内执行广泛的任务。需要花费大量的时间和精力才能成为&amp;#8220;专家&amp;#8221;；做几年程序员是不够的。想在30岁左右成为一名高级软件开发工程师？要么尽早接受教育/培训，要么你得愿意在闲暇时间进行大量的工作、阅读和练习。我从高中开始编程，还牺牲了许多休息时间去跟踪行业发展、学习新技能等等。结果，我获得中级和高级程序员的时间就比我的大部分同事都要早得多，随着时间的推移，这些就转化成为很多的金钱。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;5.对教条拒之门外&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;是时候开诚布公了：也许初级程序员了解的东西还不足以说出做某件事情有一种最好的方式。尊重朋友或者权威的观点是好的，但直到你更有经验之前，不要把他们的观点说成是你自己的。很简单，如果你所了解的不足以让你独立地找出这些东西来，你又怎么会认为你知道哪一位&amp;#8220;专家&amp;#8221;是对的呢？话是难听了点，不过请相信我；由于受某些愚蠢建议的蛊惑，或者追随某些根本不知道自己在说些什么的所谓专家，白白把自己的职业生涯耽搁了几年，这样毛头小伙程序员，我见过多了。这一点有一个很好的例子，就是面向对象结构的滥用。比如说，许多初级者读了一些有关面向对象的信息后，突然间，他们那简单的应用程序的类图看起来就像埃菲尔铁塔一样了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;6.深入学习一点先进理念&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;成为一名中级程序员，很大一部分是要在代码里面体现出一些所擅长的概念。就我而言，是多线程/并行性，是正则表达式，以及如何对动态语言进行变化（后两个在我离Perl渐行渐远后开始退化）。这是如何发生的？多线程和并行处理是因为我读了相关文章，觉得它看起来很有趣，然后再自己把它弄清楚了；然后我就一直使用这些技术来写应用。我做过一件工作，是用Perl写的，里面运用了大量的正则表达式。我也用一个过程引擎模板和内置数据库系统写过我自己的电子商务引擎；那时我几乎花了2年时间在这上面。&lt;/p&gt;&#xD;
&lt;p&gt;找到真正令你着迷的东西。也许是图像处理，也许是数据库设计，等等。即便你是一个入门级的程序员，也要尝试一下成为某一自己所关注领域的专家。这会让你相当快速地进入到中级水平，一旦你到了那个水平，你的专家之路也走到一半了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;7.学习你的领域里面的基本理论&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;写出&amp;#8220;Hello World&amp;#8221;，跟理解那些字是如何显示到屏幕上的是两码事。通过学习支撑你所从事的工作的&amp;#8220;基础/底层工作（groundwork）&amp;#8221;，你会变得更加在行。为什么？因为你会理解事物为何会以这种方式运作，当东西坏了就能知道是哪里的问题，等等。通过掌握工作的底层机制，你变会得更出色。&lt;/p&gt;&#xD;
&lt;p&gt;如果你是Web程序员，读读HTTP RFC和HTML规范。如果你使用代码生成器，好好看看它生成的代码；如果你使用数据库工具，看看它生成的底层SQL语句，不一而足。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;8.看看高级程序员的代码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在工作中看看高级程序员写的代码，然后问一问事情是如何以某种特别的方式完成的，为什么？可能的话看看开源的项目。甚至即使其他程序员没有最好的编程习惯，你也会学到许多编程经验。当然，要小心别学到坏习惯。我的意思是说不要生搬硬套人家的东西；你要能领会到哪些是能行的通的，哪些是有道理的，然后再模仿人家。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;9.学习好的习惯&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;愚蠢的变量名，糟糕的缩进习惯以及其他一些凌乱的迹象就是一个没有经验的程序员的最好标记。一个程序员在学会如何编程时，却经常没有被传授到那些不那么有趣的细节，像代码格式编排。甚至尽管学习这些东西并不会令你的代码更好，也不会令你成为更好的程序员，它也会确保你不被同事视为入门级的程序员。甚至即使某人是高级程序员，如果他的变量是以他那97只猫的名字来命名，或者其函数叫做&amp;#8220;doSomething（）&amp;#8221;的，他们看起来也不像是知道自己在干什么的人。而且会令其代码在过程中更难以维护。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;10.要玩的开心&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;想要痴迷于单调乏味的工作？痛恨工作吧。要想升级为中级程序员可不仅仅是为了拿到不断增长的工资不达目的誓不罢休，而是要真正享受工作。如果你不喜欢自己的工作，且还是初级程序员，你怎么会认为成为中级或高级程序员情况就会有所好转呢？换工作或改职业吧。反过来说，如果你喜爱所从事的工作，那就好！只要你坚持下去，我保证你能成为一名更好的程序员。&lt;/p&gt;&#xD;
&lt;p&gt;（Justin James）&lt;/p&gt;&#xD;
&lt;p&gt;Justin James就职于Levit &amp;amp; James, Inc，并在公司中承担着混合编程、网络管理员、系统管理员多项职务。自2005年就在TechRepublic开博，博客地址：&lt;a href="http://blogs.techrepublic.com.com/10things/"&gt;&lt;font color="#333333"&gt;http://blogs.techrepublic.com.com/10things/&lt;/font&gt;&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/1898625.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/1898625.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/bluespace/articles/1836683.html</id><title type="text">C#操作Excel知识点</title><summary type="text">近期在使用C#操作excel，主要是读取excel模板，复制其中的模板sheet页，生成多个sheet页填充相应数据后另存到excel文件，所用到的知识点如下。一、添加引用和命名空间添加Microsoft.Office.Interop.Excel引用，它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools fo...</summary><published>2010-09-27T03:37:00Z</published><updated>2010-09-27T03:37:00Z</updated><author><name>张亚涛</name><uri>http://www.cnblogs.com/bluespace/</uri></author><link rel="alternate" href="http://www.cnblogs.com/bluespace/articles/1836683.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/bluespace/articles/1836683.html"/><content type="html">&lt;p&gt;近期在使用C#操作excel，主要是读取excel模板，复制其中的模板sheet页，生成多个sheet页填充相应数据后另存到excel文件，所用到的知识点如下。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;一、添加引用和命名空间&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;添加Microsoft.Office.Interop.Excel引用，它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll&lt;/p&gt;&#xD;
&lt;p&gt;代码中添加引用using Microsoft.Office.Interop.Excel;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;二、Excel类的简单介绍&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;此命名空间下关于Excel类的结构分别为：&lt;br /&gt;ApplicationClass - 就是我们的excel应用程序。&lt;br /&gt;Workbook - 就是我们平常见的一个个excel文件，经常是使用Workbooks类对其进行操作。&lt;br /&gt;Worksheet - 就是excel文件中的一个个sheet页。&lt;br /&gt;Worksheet.Cells[row, column] - 就是某行某列的单元格，注意这里的下标row和column都是从1开始的，跟我平常用的数组或集合的下标有所不同。&lt;/p&gt;&#xD;
&lt;p&gt;知道了上述基本知识后，利用此类来操作excel就清晰了很多。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;三、Excel的操作&lt;/strong&gt;&lt;br /&gt;任何操作Excel的动作首先肯定是用excel应用程序，首先要new一个ApplicationClass 实例，并在最后将此实例释放。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;ApplicationClass&amp;nbsp;xlsApp&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ApplicationClass();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;1.&amp;nbsp;创建Excel应用程序对象的一个实例，相当于我们从开始菜单打开Excel应用程序。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(xlsApp&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;{&lt;br /&gt;　　&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;对此实例进行验证，如果为null则表示运行此代码的机器可能未安装Excel&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1. 打开现有的Excel文件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('d9232263-b078-4626-b3eb-899fa7d64df2')"&gt;&lt;span style="color: #000000"&gt;Workbook&amp;nbsp;workbook&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xlsApp.Workbooks.Open(excelFilePath,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing);&lt;br /&gt;&lt;br /&gt;Worksheet&amp;nbsp;mySheet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;workbook.Sheets[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Worksheet;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;第一个sheet页&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;mySheet.Name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;testsheet&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;这里修改sheet名称&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;2.复制sheet页&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;mySheet.Copy(Type.Missing,&amp;nbsp;workbook.Sheets[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]);&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;复制mySheet成一个新的sheet页，复制完后的名称是mySheet页名称后加一个(2)，这里就是testsheet(2)，复制完后，Worksheet的数量增加一个&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;注意 这里Copy方法的两个参数，指是的复制出来新的sheet页是在指定sheet页的前面还是后面，上面的例子就是指复制的sheet页在第一个sheet页的后面。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.删除sheet页&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;xlsApp.DisplayAlerts&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;如果想删除某个sheet页，首先要将此项设为fasle。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(xlsApp.ActiveWorkbook.Sheets[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Worksheet).Delete();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.选中sheet页&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;(xlsApp.ActiveWorkbook.Sheets[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Worksheet).Select(Type.Missing);&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;选中某个sheet页&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;5.另存excel文件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;workbook.Saved&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;workbook.SaveCopyAs(filepath);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;6.释放excel资源&lt;/strong&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;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;workbook.Close(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;Type.Missing,&amp;nbsp;Type.Missing);&lt;br /&gt;workbook&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;xlsApp.Quit();&lt;br /&gt;xlsApp&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/bluespace/aggbug/1836683.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/bluespace/articles/1836683.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
