<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_gxh973121</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/7575/rss</id><updated>2011-10-14T03:06:27Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/7575/rss"/><entry><id>http://www.cnblogs.com/gxh973121/archive/2011/08/26/2154254.html</id><title type="text">Class Struct 转Byte Serialize Marshal 区别</title><summary type="text">下载</summary><published>2011-08-26T04:47:00Z</published><updated>2011-08-26T04:47:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2011/08/26/2154254.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2011/08/26/2154254.html"/><content type="html">&lt;a title="下载" href="http://files.cnblogs.com/gxh973121/ClassStructSerialize.rar"&gt;下载&lt;/a&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/2154254.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2011/08/26/2154254.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2011/08/02/2124436.html</id><title type="text">C#捕获摄像头进行拍照和录像资料总结</title><summary type="text">1..net中捕获摄像头视频的方式及对比**2.用Directshow.net的播放控件http://www.360doc.com/content/09/0307/16/50415_2739439.shtml3。DirectShow.Net下载http://sourceforge.net/projects/directshownet/4。DirectShow .Net 实现视频预览(重点源码记录)**5。使用DirectX.Capture.dll和DShowNET.dll捕获视频程序6。Webcam in C#: AForge.NET （转）**7。AForge.Net下载http://www</summary><published>2011-08-01T17:10:00Z</published><updated>2011-08-01T17:10:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2011/08/02/2124436.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2011/08/02/2124436.html"/><content type="html">&lt;p&gt;1.&lt;a href="http://www.cnblogs.com/xrwang/archive/2010/02/13/HowToCaptureCameraVideoViaDotNet.html"&gt;.net中捕获摄像头视频的方式及对比&lt;/a&gt;**&lt;/p&gt;&#xD;
&lt;p&gt;2.用Directshow.net的播放控件&lt;a title="http://www.360doc.com/content/09/0307/16/50415_2739439.shtml" href="http://www.360doc.com/content/09/0307/16/50415_2739439.shtml"&gt;http://www.360doc.com/content/09/0307/16/50415_2739439.shtml&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3。DirectShow.Net下载&lt;a title="http://sourceforge.net/projects/directshownet/" href="http://sourceforge.net/projects/directshownet/"&gt;http://sourceforge.net/projects/directshownet/&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4。&lt;a href="http://www.cnblogs.com/qiantz/archive/2009/04/15/1435952.html"&gt;DirectShow .Net 实现视频预览(重点源码记录)&lt;/a&gt;**&lt;/p&gt;&#xD;
&lt;p&gt;5。&lt;a href="http://www.cnblogs.com/mgod/archive/2008/06/18/1224353.html"&gt;使用DirectX.Capture.dll和DShowNET.dll捕获视频程序&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;6。&lt;a href="http://www.cnblogs.com/zeroone/archive/2010/04/13/1711146.html"&gt;Webcam in C#: AForge.NET （转）&lt;/a&gt;**&lt;/p&gt;&#xD;
&lt;p&gt;7。AForge.Net下载&lt;a title="http://www.aforgenet.com/framework/" href="http://www.aforgenet.com/framework/"&gt;http://www.aforgenet.com/framework/&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;8。&lt;a href="http://www.cnblogs.com/yriyr/archive/2010/06/26/1765715.html"&gt;利用Aforge做的摄像监控程序（带视频差异录像）&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;9。EmguCV下载&lt;a title="http://www.emgu.com/wiki/index.php/Emgu_CV" href="http://www.emgu.com/wiki/index.php/Emgu_CV"&gt;http://www.emgu.com/wiki/index.php/Emgu_CV&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;10。&lt;a href="http://www.cnblogs.com/over140/archive/2009/04/07/1429308.html"&gt;C# 视频监控系列 序 [完]&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/2124436.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2011/08/02/2124436.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2011/05/11/2042888.html</id><title type="text">一月学习socket tcp通信总结</title><summary type="text">学习过程中参考了不少园里的文章，表示感谢先学习过程1.首先学习封包拆包，这步是必须的2.考虑怎样实现高并发的通信，在网上浏览很多文章，这里我选用了SocketAsyncEventArgs，这个类在.net2.0sp1及以后版本 支持，此类对异步socket收发，线程调度，信号同步等做了封装优化，底层直接调用winapi，所以 socket通信效率是跟语言无关的3.进行封装成一个公共类库，方便以后调用总结：socket 的并发连接是很高的，一般几万个不成问题，当然我说的只是连接，我只拿1w个并发连接进行了测试，再高意义也不大，因为下一步的业务处理逻辑等会对他进行限制，形成瓶颈下面通过测试来说明问</summary><published>2011-05-11T02:07:00Z</published><updated>2011-05-11T02:07:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2011/05/11/2042888.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2011/05/11/2042888.html"/><content type="html">&lt;div&gt;学习过程中参考了不少园里的文章，表示感谢先&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;学习过程&lt;br /&gt;1.首先学习封包拆包，这步是必须的&lt;br /&gt;2.考虑怎样实现高并发的通信，在网上浏览很多文章，这里我选用了SocketAsyncEventArgs，这个类在.net2.0sp1及以后版本&lt;br /&gt;&amp;nbsp; 支持，此类对异步socket收发，线程调度，信号同步等做了封装优化，底层直接调用winapi，所以&amp;nbsp; socket通信效率是跟语言无关的&lt;br /&gt;3.进行封装成一个公共类库，方便以后调用&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;socket 的并发连接是很高的，一般几万个不成问题，当然我说的只是连接，我只拿1w个并发连接进行了&lt;br /&gt;测试，再高意义也不大，因为下一步的业务处理逻辑等会对他进行限制，形成瓶颈&lt;br /&gt;下面通过测试来说明问题&lt;br /&gt;&lt;br /&gt;测试方案一&lt;br /&gt;客户端并发4000个连接到服务器，每过30秒发送一条消息到服务器（内容就是一日期），服务器收到&lt;br /&gt;拆包保存到mysql数据库，然后把消息再发回客户端，上图开始&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="display: inline-block;"&gt;&lt;/div&gt;&amp;nbsp;服务器客户端连接完毕&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/gxh973121/clientserver1.jpg" height="356" width="780" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;经过5轮首发消息，得到结论负载完全正常&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/gxh973121/clientserver2.jpg" height="336" width="780" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;测试2&lt;/p&gt;&lt;p&gt;看上面结果处理还蛮轻松的，我们继续给它加压 并发10000个连接&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/gxh973121/clientserver3.JPG" height="351" width="794" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/gxh973121/clientserver4.JPG" height="338" width="786" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;上面的结果大家看到了，客户端已经发送了30000条，但服务器只处理了5579条，其余的哪去了&lt;img src="http://www.cnblogs.com/Emoticons/msn/50_50.gif" alt="" /&gt;，没有丢，其实socket收发速度是很快的&lt;/p&gt;&lt;p&gt;立刻处理不了的被缓存了，当缓存达到一定数量时，就要出处理方案了，这时候要么拒绝服务，大家常见的Http500 服务器忙 错误怎么来的知道了吧，&lt;br /&gt;&lt;/p&gt;&lt;p&gt;要么扩容，多台服务器分担压力&lt;/p&gt;&lt;p&gt;回到正题来，我们在服务器端没什么业务逻辑呀，就只解了下包，不应该连这点并发都处理不了啊，开始排查瓶颈，用profiler工具查看，发现80%左右耗在了&lt;/p&gt;&lt;p&gt;写mysql数据库上， 解决方法就是把这些io干掉&lt;/p&gt;&lt;p&gt;1.批更新，等到1000条再batch update 到数据库里，对我我这个测试或小应用足够了 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;2.换到内存数据库上（目前对内存数据库我了解不多，内存数据库要防断电等，所以最终要同步到磁盘sql数据库中），内存数据作为中间缓冲层，通过同步策略到磁盘上&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;结束语：瓶颈找到了，问题也就解决了，以后想在此基础上写个IM&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-------------------------------------------------------------------------&lt;/p&gt;&lt;p&gt;我代码就不贴也，等im做出来后在放出来，下面列举下学习资源&lt;/p&gt;&lt;p&gt;&lt;div&gt;http://www.cnblogs.com/onlytiancai/archive/2008/07/26/unpack_network_package.html &lt;div&gt;&lt;span style="background-color: #ffffff"&gt;&lt;span style="background-color: #ffffff"&gt;蛙蛙教你解析网络包&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;div&gt;http://www.cnblogs.com/Alexander-Lee/archive/2009/11/11/1601021.html&lt;/div&gt;&lt;p&gt;发一个异步TCP开发库，求批评，求指正，求BUG&lt;/p&gt;&lt;p&gt;&lt;/p&gt;网络上针对具体问题的还很多，就不列了 &lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/2042888.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2011/05/11/2042888.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2011/04/22/2024745.html</id><title type="text">线程防止冲突</title><summary type="text">多个线程同时访问一个公共变量时就容易引起冲突，例如解决方法是把这个变量的读写都保护起来，用lock锁定代码段</summary><published>2011-04-22T04:09:00Z</published><updated>2011-04-22T04:09:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2011/04/22/2024745.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2011/04/22/2024745.html"/><content type="html">&lt;p&gt;多个线程同时访问一个公共变量时就容易引起冲突，例如&lt;/p&gt;&lt;p&gt;解决方法是把这个变量的读写都保护起来，用lock锁定代码段&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/2024745.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2011/04/22/2024745.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2010/11/24/1886663.html</id><title type="text">flex</title><summary type="text">flex 事件异步导致代码顺序不利于阅读source：http://hi.baidu.com/chensong_blog/blog/item/56240f16a4ad064321a4e91d.html做项目时，用RemoteObject对象发现如果一个页面上调用多个方法，此时如果每个方法的出错处理提示和处理结果不同时，必须要给每个方法写一个回调方法，因此，我们采用代理执行，具体代码如下：packa...</summary><published>2010-11-24T07:46:00Z</published><updated>2010-11-24T07:46:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2010/11/24/1886663.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2010/11/24/1886663.html"/><content type="html">&lt;p&gt;flex 事件异步导致代码顺序不利于阅读&lt;/p&gt;&#xD;
&lt;p&gt;source：&lt;a href="http://hi.baidu.com/chensong_blog/blog/item/56240f16a4ad064321a4e91d.html"&gt;http://hi.baidu.com/chensong_blog/blog/item/56240f16a4ad064321a4e91d.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;做项目时，用RemoteObject对象发现如果一个页面上调用多个方法，此时如果每个方法的出错处理提示和处理结果不同时，必须要给每个方法写一个回调方法，因此，我们采用代理执行，具体代码如下：&lt;/p&gt;&#xD;
&lt;p&gt;package com.system {&lt;/p&gt;&#xD;
&lt;p&gt;import com.reider.log4AS3.Logger;&lt;br /&gt;import com.reider.log4AS3.LoggerFactory;&lt;br /&gt;&lt;br /&gt;import mx.rpc.AbstractOperation;&lt;br /&gt;import mx.rpc.AsyncResponder;&lt;br /&gt;import mx.rpc.AsyncToken;&lt;br /&gt;import mx.rpc.events.FaultEvent;&lt;br /&gt;import mx.rpc.events.ResultEvent;&lt;br /&gt;import mx.rpc.remoting.RemoteObject;&lt;/p&gt;&#xD;
&lt;p&gt;/**&lt;br /&gt;* 和后台数据交互的代理&lt;br /&gt;*/&lt;br /&gt;public class ServiceProxy {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; private static var logger:Logger = LoggerFactory.getLogger(ServiceProxy);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; * 创建代理后执行此方法，并返回数据 &lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param serviceName&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param methodName&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param onResult 回调函数，有两个参数：类型：boolean，标识远程调用结果；类型：Object，远程调用返回数据&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param params 参数（多个参数中间用逗号隔开）&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp; public static function execute(serviceName:String, methodName:String, onResult:Function, ... params:Array):void {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("execute start");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var service:RemoteObject = new RemoteObject(serviceName);&lt;/p&gt;&#xD;
&lt;p&gt;service.endpoint = "&lt;em&gt;&lt;u&gt;http://ip:port/contextpath/messagebroker/amf&lt;/u&gt;&lt;/em&gt;";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var asyncToken:AsyncToken;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var operation:AbstractOperation = service.getOperation(methodName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (params &amp;amp;&amp;amp; params.length != 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asyncToken = operation.send.apply(operation, params);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asyncToken = operation.send();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asyncToken.addResponder(new AsyncResponder(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(event:ResultEvent, asyncToken:AsyncToken):void {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onResult(true,event.result);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(event:FaultEvent, asyncToken:AsyncToken):void {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onResult(false, event.message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asyncToken&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("execute end");&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;调用示例如下：&lt;/p&gt;&#xD;
&lt;p&gt;private function goToPage(no:Number):void{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceProxy.execute("PageService","getPage",function(success:Boolean, data:Object):void {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!success){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("数据库异常");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;/p&gt;&#xD;
&lt;p&gt;。。。。。成功调用后的处理&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },encodeURI(hql),no,this.totalRows);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gxh973121/aggbug/1886663.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2010/11/24/1886663.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2010/11/15/1877333.html</id><title type="text">Flex FLOWBOX 添加RichText  不换行</title><summary type="text">//richtextres.setStyle('paddingTop',5);richtextres.setStyle('paddingLeft',2);当把上面注释去掉后 Flowbox 不能正常换行，paddingLeft 不受影响</summary><published>2010-11-14T17:54:00Z</published><updated>2010-11-14T17:54:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2010/11/15/1877333.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2010/11/15/1877333.html"/><content type="html">&lt;p&gt;//richtextres.setStyle('paddingTop',5);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;richtextres.setStyle('paddingLeft',2);&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;当把上面注释去掉后 Flowbox 不能正常换行，paddingLeft 不受影响&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/1877333.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2010/11/15/1877333.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2010/03/01/1675702.html</id><title type="text">win7 修复系统文件</title><summary type="text">网友建议:如果用替换法激活过的，再用OEM7激活会提示错误。可以先用命令SFC /SCANNOW 扫描并修复系统文件，重启后就可以用OEM7激活</summary><published>2010-03-01T05:55:00Z</published><updated>2010-03-01T05:55:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2010/03/01/1675702.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2010/03/01/1675702.html"/><content type="html">&lt;font face="微软雅黑"&gt;网友建议:如果用替换法激活过的，再用OEM7激活会提示错误。可以先用命令SFC /SCANNOW 扫描并修复系统文件，重启后就可以用OEM7激活&lt;/font&gt;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/gxh973121/aggbug/1675702.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gxh973121/archive/2010/03/01/1675702.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2009/07/04/1516913.html</id><title type="text">方法的直接调用，反射调用与……Lambda表达式调用</title><summary type="text">source:http://www.cnblogs.com/JeffreyZhao/archive/2008/11/24/invoke-method-by-lambda-expression.html想调用一个方法很容易，直接代码调用就行，这人人都会。其次呢，还可以使用反射。不过通过反射调用的性能会远远低于直接调用&amp;#8212;&amp;#8212;至少从绝对时间上来看的确是这样。虽然这是个众所周知的现象...</summary><published>2009-07-04T10:22:00Z</published><updated>2009-07-04T10:22:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2009/07/04/1516913.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2009/07/04/1516913.html"/></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2009/04/23/1441873.html</id><title type="text">WebBrowser控件使用技巧分享 </title><summary type="text">from:http://www.cnblogs.com/SkyD/archive/2009/04/23/1441696.html在发布&amp;#8220;淘宝登货员&amp;#8221;时发现不少朋友对WebBrowser控件比较感兴趣，故在此分享一下使用心得。首先分享一个WebBrowser的扩展类（此类所需的dll将在文章末尾提供下载），大家最好都使用这个类来替代.Net框架中的WebBrowser类，它提...</summary><published>2009-04-23T02:53:00Z</published><updated>2009-04-23T02:53:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2009/04/23/1441873.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2009/04/23/1441873.html"/></entry><entry><id>http://www.cnblogs.com/gxh973121/archive/2009/04/06/1430167.html</id><title type="text">读取exec返回值</title><summary type="text">读查询语句示例：　　 Declare @count int 1 set @strSql=N'select @a= count(*) from ['+ @tblName + '] where 1=1 '+ @strWhere2 exec sp_executesql @strSql ,N'@a int output',@Count output3 select @Count　　　　要点：1.利用系统存...</summary><published>2009-04-06T03:39:00Z</published><updated>2009-04-06T03:39:00Z</updated><author><name>gxh973121</name><uri>http://www.cnblogs.com/gxh973121/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gxh973121/archive/2009/04/06/1430167.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gxh973121/archive/2009/04/06/1430167.html"/></entry></feed>
