<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Lisng's DotNet</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/42482/rss</id><updated>2012-02-15T09:11:12Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/42482/rss"/><entry><id>http://www.cnblogs.com/lishenglyx/archive/2012/02/15/2352926.html</id><title type="text">IP安全策略心得</title><summary type="text">1，只能启用一条2，一条里可加多个规则，规则对应允许和拒绝3，规则实际上就是一组列表，添加条目时，从什么端口到什么端口，是根据前一页的源地址和目标地址来的，选择了镜像，即是双向通路，怎么来的，怎么回4，WEB服务器，应该开放 源地址所有IP， 目标本机，从tcp任意端口到80（因为客户端访问是随机的端口），镜像5，上网，应该开放 本机到任意的udp53，还有本机任意端口到所有IP的80此80和上一个80意思不一样。最后 ，优先级的问题，不是什么允许大于拒绝，是IP范围窄的优先（其实不光是IP，而是结合协议端口来算的一个综合值）</summary><published>2012-02-15T09:11:00Z</published><updated>2012-02-15T09:11:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2012/02/15/2352926.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2012/02/15/2352926.html"/><content type="html">&lt;p&gt;1，只能启用一条&lt;/p&gt;&lt;p&gt;2，一条里可加多个规则，规则对应允许和拒绝&lt;/p&gt;&lt;p&gt;3，规则实际上就是一组列表，添加条目时，从什么端口到什么端口，是根据前一页的源地址和目标地址来的，选择了镜像，即是双向通路，怎么来的，怎么回&lt;/p&gt;&lt;p&gt;4，WEB服务器，应该开放 源地址所有IP， 目标本机，从tcp任意端口到80（因为客户端访问是随机的端口），镜像&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5，上网，应该开放 本机到任意的udp53，还有本机任意端口到所有IP的80&lt;br /&gt;&lt;/p&gt;&lt;p&gt;此80和上一个80意思不一样。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;最后 ，优先级的问题，不是什么允许大于拒绝，是IP范围窄的优先（其实不光是IP，而是结合协议端口来算的一个综合值） &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2352926.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2012/02/15/2352926.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2012/02/06/2340200.html</id><title type="text">终于解决 Faulting application w3wp.exe 出错</title><summary type="text">Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51ee2, debug? 0, fault address 0x0000bef7.已经尝试过的方法：1.内存，将.net自带Cache改成Memcached2.进程，将Web园改成2个进程3.权限 参考http://www.cnblogs.com/dongpo888/archive/2009/03/12/1409600.html4.</summary><published>2012-02-06T07:15:00Z</published><updated>2012-02-06T07:15:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2012/02/06/2340200.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2012/02/06/2340200.html"/><content type="html">&lt;div&gt;Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51ee2, debug? 0, fault address 0x0000bef7.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;已经尝试过的方法：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1.内存，将.net自带Cache改成Memcached&lt;/p&gt;&lt;p&gt;2.进程，将Web园改成2个进程&lt;/p&gt;&lt;p&gt;3.权限 参考&amp;nbsp;&lt;div&gt;http://www.cnblogs.com/dongpo888/archive/2009/03/12/1409600.html&lt;/div&gt;&lt;/p&gt;&lt;p&gt;4.回收 关闭说的自动回收进程等复选框&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;均无效，最终还是查程序，果不其然死循环，递归调用要小心。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;过程： &lt;br /&gt;&lt;/p&gt;&lt;p&gt;在Global中加日志记录 发现验证码页面偶尔出错，一查是在网上抄的代码，如果重复验证码会跑一个递归调用自己。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;而自己将随机数范围设置大了一个，所以一旦产生出max+1位置的字母，就会死循环。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;天啊，折腾死人了。花了那么多天！！！ &lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2340200.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2012/02/06/2340200.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/12/22/2298412.html</id><title type="text">电脑自动开机，原来是这样子的！</title><summary type="text">本以为自己的电脑不能开机，今天算是弄清楚了！现在的机子基本都支持，在BIOS里设置，可以找到自动开机的设置。但是，我要说的是设置了这个，还是不能开机，比如：我在BIOS里设置了5分钟后的时间，然后保存，然后关机（在BIOS界面就关的）然后，就是不能开机。气得不得了，然后，只有变通的办法，进入 WIN，添加计划任务，关电脑时选择“休眠”，放心休眠是会断电的。 这个时候到点了，就会自动开机。今天，终于发现，原来自动开机是支持的，不过必须在WIN下关机，才能启动，现在我在BIOS里面设置好了，然后进入 WIN 把计划任务都停了，在WIN下关机， BINGO！</summary><published>2011-12-22T13:05:00Z</published><updated>2011-12-22T13:05:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/12/22/2298412.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/12/22/2298412.html"/><content type="html">&lt;p&gt;本以为自己的电脑不能开机，今天算是弄清楚了！&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;现在的机子基本都支持，在BIOS里设置，可以找到自动开机的设置。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;但是，我要说的是&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;设置了这个，还是不能开机，比如：我在BIOS里设置了5分钟后的时间，然后保存，然后关机（在BIOS界面就关的）&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;然后，就是不能开机。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;气得不得了，然后，只有变通的办法，进入 WIN，添加计划任务，关电脑时选择&amp;#8220;休眠&amp;#8221;，放心休眠是会断电的。 这个时候到点了，就会自动开机。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;今天，终于发现，原来自动开机是支持的，不过必须在WIN下关机，才能启动，现在我在BIOS里面设置好了，然后进入 WIN 把计划任务都停了，在WIN下关机， BINGO！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2298412.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/12/22/2298412.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/11/30/2269388.html</id><title type="text">RegisterClientScriptBlock 强制重复注册脚本 及在自定义控件中调用</title><summary type="text">1.系统是会判断如果同一控件在页面中加载多次，只会注册一次脚本，要重复注册的话，请用Guid.NewGuid生成，之前误用Guid().ToString()晕死2.在render方法中 RegisterClientScriptBlock是不起作用的，加在控件的OnLoad中即可</summary><published>2011-11-30T09:11:00Z</published><updated>2011-11-30T09:11:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/30/2269388.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/30/2269388.html"/><content type="html">&lt;p&gt;1.系统是会判断如果同一控件在页面中加载多次，只会注册一次脚本，要重复注册的话，请用Guid.NewGuid生成，之前误用Guid().ToString()晕死&lt;/p&gt;&lt;p&gt;2.在render方法中&amp;nbsp; &lt;/p&gt;&lt;div&gt;RegisterClientScriptBlock&lt;/div&gt;是不起作用的，加在控件的OnLoad中即可&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2269388.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/11/30/2269388.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/11/23/2260036.html</id><title type="text">解决 SQLSERVER CTE WITH &amp;#39;)&amp;#39; 附近有语法错误。</title><summary type="text">WITH t AS ( SELECT NTILE(10) OVER (order by id) AS PageNumber,ID FROM App)老是提示&amp;#39;)&amp;#39; 附近有语法错误。确定是SQLSERVER005，网上有说WITH前面加分号;的，有的说开什么分隔符开关的，整了半天，WITH语句后面是要跟语句的 WITH t AS ( SELECT NTILE(10) OVER (order by id) AS PageNumber,ID FROM App)SELECT * FROM t这样就可以了，怎么说自己好呢！</summary><published>2011-11-23T03:48:00Z</published><updated>2011-11-23T03:48:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/23/2260036.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/23/2260036.html"/><content type="html">&lt;div&gt;&lt;div&gt;WITH t AS (&lt;br /&gt;　　SELECT NTILE(10) OVER (order by id) AS PageNumber,ID FROM App&lt;br /&gt;)&lt;/div&gt;老是提示&lt;/div&gt;&lt;p&gt;')' 附近有语法错误。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;确定是SQLSERVER005，网上有说WITH前面加分号;的，有的说开什么分隔符开关的，&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;整了半天，WITH语句后面是要跟语句的 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;div&gt;WITH t AS (&lt;br /&gt;　　SELECT NTILE(10) OVER (order by id) AS PageNumber,ID FROM App&lt;br /&gt;)&lt;/div&gt;SELECT * FROM t&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这样就可以了，怎么说自己好呢！&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2260036.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/11/23/2260036.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/11/12/2246086.html</id><title type="text">ipad 共享PC机SSH Sock5转http代理上网</title><summary type="text">PC机和Ipad在同一局域网中PC IP:192.168.1.99PC机用代理软件（如Tunnelier)上网成功(Sock5方式)安装 Privoxy 软件（参见以下文章）注意，文中127.0.0.1:8118 改成 192.168.1.99:8118 即可至此，PC机和Ipad都可以用192.168.1.99:8118代理上网了将socks代理转为http代理2010/12/10 at 12:49菩提老王3 comments 之前使用ssh账户和myentunnel作为上国际互联网的代理，但是这个代理本身是socks类型。而ie浏览器只支持http方式的代理，所以将127.0.0.1:70</summary><published>2011-11-11T16:38:00Z</published><updated>2011-11-11T16:38:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/12/2246086.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/12/2246086.html"/><content type="html">&lt;p&gt;PC机和Ipad在同一局域网中&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;PC IP:192.168.1.99&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;PC机用代理软件（如Tunnelier)上网成功(Sock5方式)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;安装 Privoxy 软件（参见以下文章）&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;注意，文中127.0.0.1:8118 改成 192.168.1.99:8118 即可&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;至此，PC机和Ipad都可以用192.168.1.99&amp;nbsp;:8118代理上网了&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&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; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: normal; text-align: left; background-color: #d9d9d9; "&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.newnaw.com/?p=616" title="Permalink to 将socks代理转为http代理" style="text-decoration: none; color: #000000; "&gt;&lt;span style="display: block; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/heading.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; padding-top: 6px; padding-right: 15px; padding-bottom: 5px; padding-left: 15px; margin-right: -15px; background-position: 100% 0px; background-repeat: no-repeat no-repeat; "&gt;将socks代理转为http代理&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 15px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 15px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/heading.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: 0px -60px; background-repeat: no-repeat no-repeat; "&gt;&lt;div style="margin-top: 0px; margin-right: -15px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 15px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/heading.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; height: 22px; position: relative; border-image: initial; background-position: 100% -60px; background-repeat: no-repeat no-repeat; "&gt;&lt;span style="display: block; float: left; font-size: 11px; color: #555555; line-height: 22px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/heading.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; padding-left: 20px; background-position: 0px -86px; background-repeat: no-repeat no-repeat; "&gt;2010/12/10 at 12:49&lt;/span&gt;&lt;span style="display: block; float: left; font-size: 11px; color: #555555; line-height: 22px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/heading.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; padding-left: 15px; margin-left: 15px; background-position: -200px -86px; background-repeat: no-repeat no-repeat; "&gt;&lt;a href="http://blog.newnaw.com/?author=1" title="Posts by 菩提老王" rel="author" style="text-decoration: none; color: #555555; "&gt;菩提老王&lt;/a&gt;&lt;/span&gt;&lt;a href="http://blog.newnaw.com/?p=616#comments" style="text-decoration: none; color: #5c7a99; display: block; height: 16px; position: absolute; right: 20px; top: 3px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/icons.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: 0px 0px; background-repeat: no-repeat no-repeat; "&gt;&lt;span style="display: block; height: 16px; margin-left: 21px; background-image: url(http://blog.newnaw.com/wp-content/themes/arjuna-x/images/icons.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; line-height: 16px; font-size: 11px; padding-top: 0px; padding-right: 15px; padding-bottom: 0px; padding-left: 8px; background-position: 100% -20px; background-repeat: no-repeat no-repeat; "&gt;3 comments&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-top: 20px; margin-right: 15px; margin-bottom: 20px; margin-left: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 12px; line-height: 20px; overflow-x: hidden; overflow-y: hidden; text-align: left; background-color: #d9d9d9; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;之前使用ssh账户和myentunnel作为上国际互联网的代理，但是这个代理本身是socks类型。而ie浏览器只支持http方式的代理，所以将127.0.0.1:7070设置到ie代理后是没有作用的。&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;而利用&lt;a href="http://sourceforge.net/projects/ijbswa/" style="text-decoration: none; color: #5c7a99; "&gt;Privoxy&lt;/a&gt;这个工具，就可以将socks代理转成http代理。转换方法如下：&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 25px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;修改&lt;a href="http://sourceforge.net/projects/ijbswa/" style="text-decoration: none; color: #5c7a99; "&gt;Privoxy&lt;/a&gt;的配置文件，找到listen-address这一行，将其修改为：&amp;#8220;listen-address&amp;nbsp; 127.0.0.1:6060 &amp;#8221;， 6060也就是你需要的http代理的端口；&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 25px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;再找到&amp;#8220;forward-socks5&amp;#8221;这一行，去掉前面的注释标记#，将这一行修改为&amp;#8220;forward-socks5&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; 127.0.0.1:7070&amp;nbsp; . &amp;#8221;， 7070也就是socks代理的端口；&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 25px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;重启Privoxy就可以了。&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;最后在ie代理中填入127.0.0.1:6060，就可以访问国际互联网了。此时，也可以很方便的让别人的机器使用你的6060端口来上国际互联网~&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="background-color: #d9d9d9; color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 12px; line-height: 20px; text-align: left; "&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 这样做是为什么呢？因为有些软件，比如windows live writer，只支持http类型的代理，因此Privoxy还是很给力的。对了，这篇日志就是用windows live writer写的。&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2246086.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/11/12/2246086.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/11/10/2243818.html</id><title type="text">iBatis.net 配置文件报错的坑爹解决！</title><summary type="text">坑爹提示如下：- The error occurred while loading SqlMap.- The error occurred in &amp;lt;sqlMap resource=&amp;quot;Person.xml&amp;quot; xmlns=&amp;quot;http://ibatis.apache.org/dataMapper&amp;quot; /&amp;gt;网上很多说是命名空间，有的说是复制过来的配置文件没改namespace结果全是坑爹解决方案： SqlMap.xml Person.xml等，都要选 嵌入资源 和 复制到输出目录另外可以用全嵌入的方式，复制也不需要 &amp;lt;providers embe</summary><published>2011-11-09T16:41:00Z</published><updated>2011-11-09T16:41:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/10/2243818.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/11/10/2243818.html"/><content type="html">&lt;p&gt;坑爹提示如下：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;- The error occurred while loading SqlMap.&lt;/div&gt;&lt;/div&gt;&lt;p&gt;- The error occurred in &amp;lt;sqlMap resource="Person.xml" xmlns="http://ibatis.apache.org/dataMapper" /&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;网上很多说是命名空间，有的说是复制过来的配置文件没改namespace&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;结果全是坑爹&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;解决方案：&lt;/p&gt;&lt;p&gt;SqlMap.xml Person.xml等，都要选 &lt;span style="color: red; "&gt;嵌入资源 和 复制&lt;/span&gt;到输出目录&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;另外可以用全嵌入的方式，复制也不需要&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;providers &lt;span style="color: red; "&gt;embedded=&lt;/span&gt;"providers.config,IBatisDAL" /&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;!-- Data Source --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;database&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;provider name="sqlServer1.1" /&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dataSource name="iBatisInAction" connectionString="Server=server0;database=test;user id=sa;password=123;pooling=true;Max Pool Size=100" /&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/database&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;!-- Sql Map files &amp;nbsp;--&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;sqlMaps&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;sqlMap &lt;span style="color: red; "&gt;embedded=&lt;/span&gt;"Maps.Person.xml,IBatisDAL" /&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;lt;/sqlMaps&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static ISqlMapper sqlMap;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main(string[] args)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Person p = new Person();&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: red; "&gt;Assembly assembly = Assembly.Load("IBatisDAL");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: red; "&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stream stream = assembly.GetManifestResourceStream("IBatisDAL.SqlMap.config"); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: red; "&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DomSqlMapBuilder builder = new DomSqlMapBuilder();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: red; "&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sqlMap = builder.Configure(stream);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //p = Mapper.Instance().QueryForObject&amp;lt;Person&amp;gt;("GetPerson", 2);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p = sqlMap.QueryForObject&amp;lt;Person&amp;gt;("GetPerson", 2);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine("person:" + p.name);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.ReadLine();&lt;/div&gt;&lt;/div&gt;&lt;p&gt;}&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2243818.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/11/10/2243818.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/04/06/2006711.html</id><title type="text">vs2008编译中文变量名的lua解释器环境</title><summary type="text">0.下载llex.c(此文件是解析变量名的)当然可以自己根据网上的资料改，我是从CSDN下载的一个包里取出来的[当然也可以直接照第3步的方法编译此包，也可以编译成功，之前直接运行包中的lua.exe老是提示runtime出错，用vs2008命令行编译一遍就行了]下载地址:http://download.csdn.net/source/29357361. 到项目主页http://www.lua.org/选择source，下载lua最新源代码2. 当前最新稳定版本 5.1.4，2008年8月发布 源码下载http://www.lua.org/ftp/lua-5.1.4.tar.gz3. VC编译方</summary><published>2011-04-06T05:29:00Z</published><updated>2011-04-06T05:29:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/04/06/2006711.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/04/06/2006711.html"/><content type="html">&lt;div&gt;&lt;span style="color: #555555; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 17px; "&gt;&lt;p style="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;&lt;/p&gt;&lt;div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;0.下载llex.c(此文件是解析变量名的)当然可以自己根据网上的资料改，我是从CSDN下载的一个包里取出来的[&lt;span style="color: red; "&gt;当然也可以直接照第3步的方法编译此包，也可以编译成功，之前直接运行包中的lua.exe老是提示runtime出错，用vs2008命令行编译一遍就行了]&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;下载地址:&lt;a href="http://download.csdn.net/source/2935736" title="http://download.csdn.net/source/2935736"&gt;http://download.csdn.net/source/2935736&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1. 到项目主页&amp;nbsp;&lt;a href="http://www.lua.org/" style="color: #2970a6; text-decoration: none; "&gt;http://www.lua.org/&lt;/a&gt;&amp;nbsp;选择source，下载lua最新源代码&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="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. 当前最新稳定版本 5.1.4，2008年8月发布&lt;/p&gt;&lt;p style="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;&lt;a href="http://www.lua.org/ftp/lua-5.1.4.tar.gz" style="color: #2970a6; text-decoration: none; "&gt;http://www.lua.org/ftp/lua-5.1.4.tar.gz&lt;/a&gt;&lt;/p&gt;&lt;p style="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;3. VC编译方法,将llex.c替换5.1.4src中的llex.c&lt;/p&gt;&lt;p style="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;用Visual Studio 2008命令行环境进入lua目录(&lt;span style="color: red; "&gt;etc的上级,否则会提示找不到文件&lt;/span&gt;)，运行etc\luavs.bat。之后会在src目录下生成lua.exe、luac.exe、lua51.dll&lt;/p&gt;&lt;p&gt;至此，替换解释器，用scite已经支持中文变量了&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;--[[&amp;nbsp;&lt;/p&gt;&lt;p style="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;4. 注意(这步我就没做了)&lt;/p&gt;&lt;p style="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;默认的luavs.bat只会生成DLL，如果需要编译静态链接库，可以自行修改luavs.bat，修改两处地方&lt;/p&gt;&lt;p style="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;1. 删除cl.exe的编译选项 /DLUA_BUILD_AS_DLL&lt;/p&gt;&lt;p id="" style="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. 生成DLL的命令改成 lib.exe /nologo /out:lua.lib *.obj&lt;/p&gt;&lt;p&gt;]]--&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="color: #555555; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 17px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #555555; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 17px; "&gt;&lt;p id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown"&gt;附修改后的文档:(已经通过vs编译)&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/lishenglyx/%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87%E5%8F%98%E9%87%8Flua-5.1.4.rar" title="http://files.cnblogs.com/lishenglyx/%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87%E5%8F%98%E9%87%8Flua-5.1.4.rar"&gt;http://files.cnblogs.com/lishenglyx/%E6%94%AF%E6%8C%81%E4%B8%AD%E6%96%87%E5%8F%98%E9%87%8Flua-5.1.4.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;以下是搭建editplus环境&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;div  id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown"&gt;如何让EditPlus支持LUA&lt;/div&gt;&lt;div &gt;2009-11-25 13:48&lt;/div&gt;&lt;table border="0" style="table-layout: fixed; width: 1041px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div id="blog_text" &gt;如何让EditPlus支持LUA&lt;br /&gt;这次主要介绍一下学习Lua之前的准备工作。&lt;br /&gt;(1) 下载Lua安装包，最新版本是lua-5.1.3. 它的体积很小，只有210K&lt;br /&gt;http://luaforge.net/frs/?group_id=377&lt;br /&gt;这是WINDOWS版本. 附带了编辑器，连环境变量都一次搞定了。&lt;br /&gt;(2)安装lua包&lt;br /&gt;(3)安装EditPlus编辑器：&lt;br /&gt;EditPlus 简单又好用, 我自己喜欢汉化版 http://www.crsky.com/soft/1578.html. 2.3以上版本可以使用一下注册码:&lt;br /&gt;Name：www.cnzz.cc&lt;br /&gt;Code：60A8E-21F10-5BZ83-ADW4E-F3TC9&lt;br /&gt;(4)让EditPlus支持lua高亮&lt;br /&gt;下拉菜单"工具" -- "首选项" ，选择"语法". 点击"添加"按钮增加一个文件类型，在下面的"描述"和"扩展名"栏里都填写lua。&lt;br /&gt;下面设置语法文件。&lt;br /&gt;lua.stx文件下载地址：http://download.csdn.net/source/257667. 注意要按一下"载入"按钮.&lt;br /&gt;再设置好"自动换行"和"缩进".&lt;br /&gt;(5)让EditPlus能调用Lua5调试代码&lt;br /&gt;选择左面的"用户工具"，点击右面的"添加"--"应用程序"&lt;br /&gt;之后，"菜单文本"填 Run_Lua5&lt;br /&gt;"命令"栏, 需要写明你步骤(2)安装的lua5系统的位置.&lt;br /&gt;在"参数"栏, 选择"文件路径", 或者$(FilePath)&lt;br /&gt;在"初始目录"栏, 选择"文件目录", 或者$(FileDir)&lt;br /&gt;更改所有设置之后，不要忘记点击"应用"，让设置生效.&lt;br /&gt;(6)让EditPlus能定位出错行, 没有这个功能编辑大文件时可以让人麻烦死.&lt;br /&gt;这需要让EditPlus能理解Lua5的输出.&lt;br /&gt;注意"初始目录"栏下面还有个"捕获输出"开关, 要钩选.&lt;br /&gt;按"输出模式"按钮, 打开输出模式设置框.&lt;br /&gt;去掉"使用默认输出模式"选项.&lt;br /&gt;在正则表达式中填写"^(.:\\.*):([0-9]):.*"&lt;br /&gt;文件名选"标记1", 行选"标记2".&lt;br /&gt;(7)现在让我们试试语法高亮和调试设置成功没有&lt;br /&gt;创建一个新的Lua文件，写入一行代码：print("Hello,Lua")&lt;br /&gt;选择菜单的"工具"，最下面有自定义命令Run_Lua5，点击此命令即可完成lua文件的执行.&lt;br /&gt;执行结果是弹出一个写有Hello,Lua的控制台。&lt;br /&gt;(8)试试能否定位出错行&lt;br /&gt;在刚才的代码前面加一行 x==1, 这是一行错误表达式.&lt;br /&gt;再执行一次, 在弹出控制台的出错提示行上面双击&lt;br /&gt;EditPlus有没有正确定位出错行?&lt;br /&gt;至此，学习Lua的准备工作完毕，可以正式开始学习了。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;span style="color: #555555; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 17px; "&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/2006711.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/04/06/2006711.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/03/29/1998895.html</id><title type="text">关于“外部的局部变量”</title><summary type="text">functionnewCounter()locali=0returnfunction()i=i+1returniendendc1=newCounter --①print(c1())print(c1())c2=newCounter() --②print(c2())print(c2())我的理解是 ①c1是相当于主函数newCounter的地址，要再执行子程序须用c1()()，不过这样的话 “外部的局部变量i”就没有累加的作用了，因为每个新的c1()都将产生一个新的闭包②这样出来的c2就相当于产生了一个闭包，或者说把这个潘多拉闭包释放出来了（释放出的内容有产出一个外部的局部变量i，以及将递增的子程</summary><published>2011-03-29T07:44:00Z</published><updated>2011-03-29T07:44:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/03/29/1998895.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/03/29/1998895.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newCounter()&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;local&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&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: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&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: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;end&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;end&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
c1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newCounter --&amp;#9312;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #FF00FF;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt;(c1())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #FF00FF;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt;(c1())&lt;br /&gt;&#xD;
c2&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;newCounter() --&amp;#9313;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #FF00FF;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt;(c2())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #FF00FF;"&gt;print&lt;/span&gt;&lt;span style="color: #000000; "&gt;(c2())&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;/div&gt;&lt;p&gt;我的理解是 &lt;/p&gt;&lt;p&gt;&amp;#9312;c1是相当于主函数newCounter的地址，要再执行子程序须用c1()()，不过这样的话 &amp;#8220;外部的局部变量i&amp;#8221;就没有累加的作用了，因为每个新的c1()都将产生一个新的闭包&lt;/p&gt;&lt;p&gt;&amp;#9313;这样出来的c2就相当于产生了一个闭包，或者说把这个潘多拉闭包释放出来了（释放出的内容有产出一个外部的局部变量i，以及将递增的子程序返回给了c2)，执行c2就是执行递增，并且&amp;#8220;外部的局部变量i"相当于c2里面的全局变量.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这样说吧，类似在c2这个点，&lt;/p&gt;&lt;p&gt;由&amp;lt;div id=c2"&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;变成了（新增了一个代码块）&lt;/p&gt;&lt;p&gt;&amp;lt;div id="c2"&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="white-space:pre"&gt;	&lt;/span&gt;&amp;lt;div&amp;gt;这里有i 还有代码函数，相当于加了个结点进来，i作用于此div块，所有c2调用将会影响i，也就是闭包&amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/1998895.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/03/29/1998895.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lishenglyx/archive/2011/02/23/1962541.html</id><title type="text">【原创】fieldset纯CSS分割线(中划线)实现</title><summary type="text">&amp;lt;fieldsetstyle=&amp;quot;border:none;border-top:1pxsolidblue&amp;quot;&amp;gt;&amp;lt;legendalign=&amp;quot;CENTER&amp;quot;&amp;gt;fieldset分割线&amp;lt;/legend&amp;gt;&amp;lt;/fieldset&amp;gt; 这个fieldset方式的怪异之处就是加居中时，不能写到style里面，要把align写到style之外，另外，划线的样式如果不选择solid的话，就会出现第二种方式那种穿字而过的线，当然你可以通过改变文字的背景色来遮挡。fieldset分割线第二种方式由小龙女CSS群友&amp;quot;前端开发 &amp;q</summary><published>2011-02-23T09:49:00Z</published><updated>2011-02-23T09:49:00Z</updated><author><name>Lisng</name><uri>http://www.cnblogs.com/lishenglyx/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lishenglyx/archive/2011/02/23/1962541.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lishenglyx/archive/2011/02/23/1962541.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;fieldset&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="border:none;border-top:1px&amp;nbsp;solid&amp;nbsp;blue"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;legend&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;align&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="CENTER"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;fieldset分割线&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;legend&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;fieldset&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;br /&gt;&#xD;
这个fieldset方式的怪异之处就是加居中时，不能写到style里面，要把align写到style之外，另外，划线的样式如果不选择solid的话，就会出现第二种方式那种穿字而过的线，当然你可以通过改变文字的背景色来遮挡。&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;fieldset style="border-width: 1px medium medium; border-style: solid none none; border-color: blue -moz-use-text-color -moz-use-text-color;"&gt;&#xD;
&lt;legend align="CENTER"&gt;fieldset分割线&lt;/legend&gt;&#xD;
&lt;/fieldset&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div&gt;第二种方式由小龙女CSS群友"前端开发 "提供&lt;/div&gt;&#xD;
&amp;nbsp;&#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;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text-align:center;border-top:1px&amp;nbsp;solid&amp;nbsp;red;line-height:30px;background-color:white"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="position:relative;top:-15px;background-color:white"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;另一种实现方式&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;div style="text-align: center; border-top: 1px solid red; line-height: 30px; background-color: white;"&gt;&#xD;
&lt;span style="position: relative; top: -15px; background-color: white;"&gt;另一种实现方式&lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;br /&gt;&#xD;
当然，这2种方式都兼容浏览器。&lt;img src="http://www.cnblogs.com/lishenglyx/aggbug/1962541.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lishenglyx/archive/2011/02/23/1962541.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
