<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_sinxsoft</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/16830/rss</id><updated>2012-02-20T08:15:43Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/16830/rss"/><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/11/15/2249966.html</id><title type="text">研究jBPM和NetBPM</title><summary type="text">暂缓</summary><published>2011-11-15T09:22:00Z</published><updated>2011-11-15T09:22:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/11/15/2249966.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/11/15/2249966.html"/><content type="html">&lt;div&gt;暂缓&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2249966.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/11/15/2249966.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117357.html</id><title type="text">研究：Microsoft Solution Framework</title><summary type="text">暂缓。</summary><published>2011-07-26T08:25:00Z</published><updated>2011-07-26T08:25:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117357.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117357.html"/><content type="html">暂缓。&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2117357.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117357.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117184.html</id><title type="text">SCRUM迭代增量式软件开发过程研究</title><summary type="text">暂缓------</summary><published>2011-07-26T06:18:00Z</published><updated>2011-07-26T06:18:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117184.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117184.html"/><content type="html">暂缓------&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2117184.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2117184.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116969.html</id><title type="text">多说多做多想。</title><summary type="text">。</summary><published>2011-07-26T03:11:00Z</published><updated>2011-07-26T03:11:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116969.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116969.html"/><content type="html">。&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2116969.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116969.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116936.html</id><title type="text">架构师培训笔记：</title><summary type="text">模块、组件划分，组件封装，多线程考虑，防火墙考虑（如只能单向通过，在架构的时候就需要考虑清楚） 需求，领域，分析，设计，实施等模型 保持架构的健壮和稳定性，让架构适应变化 严重问题：如何解耦呢？ 扩展性（也包括硬件扩展），灵活性， 软件性能 可维护性 可伸缩性 高内聚，低耦合 针对主要需求的（20%）花掉80%的时间 设计目标（11个） 必须识别那些容易变更的需求 JS框架： JQuery EXT（重量级） RIA架构： FLEX Silverlight 分布式应用 Load balance 宏观架构，平台，软件，系统，软件等的架构 微观架构，框架架构，流程架构等 解耦：持久数据层，消息机制框</summary><published>2011-07-26T02:44:00Z</published><updated>2011-07-26T02:44:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116936.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116936.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;span style="font-family:宋体;"&gt;模块、组件划分，组件封装，多线程考虑，防火墙考虑（如只能单向通过，在架构的时候就需要考虑清楚）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;需求，领域，分析，设计，实施等模型&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;保持架构的健壮和稳定性，让架构适应变化&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;严重问题：如何解耦呢？&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;扩展性（也包括硬件扩展），灵活性，&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;软件性能&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;可维护性&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;可伸缩性&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;高内聚，低耦合&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;针对主要需求的（&lt;/span&gt;20%&lt;span style="font-family:宋体;"&gt;）花掉&lt;/span&gt;80%&lt;span style="font-family:宋体;"&gt;的时间&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;设计目标（&lt;/span&gt;11&lt;span style="font-family:宋体;"&gt;个）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;必须识别那些容易变更的需求&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;JS&lt;span style="font-family:宋体;"&gt;框架：&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;JQuery&lt;/p&gt;  &lt;p&gt;EXT&lt;span style="font-family:宋体;"&gt;（重量级）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;RIA&lt;span style="font-family:宋体;"&gt;架构：&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;FLEX&lt;/p&gt;  &lt;p&gt;Silverlight&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;分布式应用&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Load balance&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;宏观架构，平台，软件，系统，软件等的架构&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;微观架构，框架架构，流程架构等&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;解耦：持久数据层，消息机制框架&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;架构方式：&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;自顶向下（熟练架构师）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;自底向上（开发人员代码会跟着重构）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;收费的&lt;/span&gt; ANTS&lt;span style="font-family:宋体;"&gt;分析插件&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;架构注意一个&lt;/span&gt;Context&lt;span style="font-family:宋体;"&gt;类，负责应用程序的构建和管理&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;注意编译状态和运行时状态区别，架构时候特别注意&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;实体数据对象，数据原生对象，&lt;/span&gt; &lt;span style="font-family:宋体;"&gt;领域对象经过拆分，组合，转换处理的&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;命名空间将系统的和不同&lt;/span&gt;dll&lt;span style="font-family:宋体;"&gt;的命名空间用空行分开&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;命名空间的分隔：公司&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;项目&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;模块&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;工程&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;命名空间&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;研究一下数据缓存机制，内存数据的持久化和内存数据的并发操作，&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left:18.0pt;text-indent:-18.0pt;"&gt;&lt;span&gt;1，&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;内存数据被修改，但持久失败&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left:18.0pt;text-indent:-18.0pt;"&gt;&lt;span&gt;2，&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;内存数据同时被两个或多个现成修改&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left:18.0pt;text-indent:-18.0pt;"&gt;&lt;span&gt;3，&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;脏数据问题：甲线程修改了一条记录，乙线程取了被修改的数据返回给客户，甲线程持久操作，但失败，那乙读脏数据了。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;抽象不应该依赖细节，细节要依赖抽象&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;针对接口&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;抽象编程&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;如果一些类不叫稳定，或者以后基本不变，也不会衍生多个不同实现的子类，则不要设计成抽象结构，这样显得画蛇添足了。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;10&lt;span style="font-family:宋体;"&gt;万条订单存储在内存（缓存服务器）是个什么概念？&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;缓存服务器中命中率算法，淘汰掉什么样的数据？&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;那其他各种单据难道都要存于缓存？硬件开销，是否是良好的架构，该架构实用于什么样的一个平台应用环境？&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;WinForm UI&lt;span style="font-family: 宋体;"&gt;控件在添加删除数据库时候，可在之前和之后分别执行&lt;/span&gt;BeginUpdate()&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;EndUpdate()&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;大型系统的&lt;/span&gt;session&lt;span style="font-family:宋体;"&gt;架构设计&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;云计算框架架构设计&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;ServerFarm &lt;span style="font-family: 宋体;"&gt;集合&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;RTI&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RT Control(&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;实时控制中心&lt;/span&gt;)&lt;span style="font-family:宋体;"&gt;动态部署服务到&lt;/span&gt;ServerFarm&lt;span style="font-family:宋体;"&gt;中&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;事务补偿&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;业务原生特点，领域模型&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;GRASP&lt;span style="font-family:宋体;"&gt;模式&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;O/RMapping &lt;span style="font-family: 宋体;"&gt;设计思路&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;按照业务原生整合表，业务实体代表业务实际数据对象&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;业务实体间维护关系，关系&lt;/span&gt;1&lt;span style="font-family:宋体;"&gt;对多，避免多对多关系&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;对于事务处理，交由数据库来处理&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;发起事务：组装成数据库事务抛给数据库处理，在数据库处理返回后再处理&lt;/span&gt;DOL&lt;span style="font-family:宋体;"&gt;层中的实体对象&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;对于静态数据（查询数据），采用缓存机制进行持久化对象缓存&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;对于动态数据（尤其是频率比较高），采用延时加载机制&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:宋体;"&gt;双向&lt;/span&gt;ORMapping&lt;span style="font-family:宋体;"&gt;，写一套数据更新的&lt;/span&gt;SQL&lt;span style="font-family:宋体;"&gt;，当前段业务组件更新实体数据，实时更新到数据库中&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2116936.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116936.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116928.html</id><title type="text">从今天开始，向注册会计师进军。</title><summary type="text">先肯《会计》和《财务成本管理》，可能会遇到意想不到的困难，呵呵，不怕，会计学有一些基础。</summary><published>2011-07-26T02:36:00Z</published><updated>2011-07-26T02:36:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116928.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116928.html"/><content type="html">&amp;nbsp; &amp;nbsp; 先肯《会计》和《财务成本管理》，可能会遇到意想不到的困难，呵呵，不怕，会计学有一些基础。&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/2116928.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2011/07/26/2116928.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2010/12/16/1908185.html</id><title type="text">SecureCRT基本命令用法：（转）</title><summary type="text">SecureCRT 常用命令常用命令：一、ls 只列出文件名 （相当于dir，dir也可以使用）-A:列出所有文件，包含隐藏文件。-l：列表形式，包含文件的绝大部分属性。-R：递归显示。--help：此命令的帮助。二、cd 改变目录cd /:进入根目录cd ：回到自己的目录（用户不同则目录也不同，root为/root，xxt为/home/xxtcd ..：回到上级目录pwd：显示当前所在的目录三.less 文件名：查看文件内容。四.q 退出打开的文件。五.上传文件：rz 选择要传送的文件，确定。六.下载文件：sz 指定文件名,enter敲，即下载到了secureCRT/download目录下。</summary><published>2010-12-16T06:24:00Z</published><updated>2010-12-16T06:24:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2010/12/16/1908185.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2010/12/16/1908185.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: verdana, Arial, helvetica, sans-seriff; line-height: 19px; font-size: 13px; color: #4b4b4b; "&gt;&lt;div style="font-size: 14.7px; font-weight: bold; margin-bottom: 10px; "&gt;&lt;a id="ctl02_TitleUrl" href="http://www.cnblogs.com/ztf2008/archive/2009/09/11/1564979.html" style="text-decoration: none; color: #000000; "&gt;SecureCRT 常用命令&lt;/a&gt;&lt;/div&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: red; "&gt;常用命令：&lt;/span&gt;&lt;span style="color: #3366ff; "&gt;&lt;br /&gt;一、ls 只列出文件名 （相当于dir，dir也可以使用）&amp;nbsp;&lt;/span&gt;&lt;br /&gt;-A:列出所有文件，包含隐藏文件。&amp;nbsp;&lt;br /&gt;-l：列表形式，包含文件的绝大部分属性。&amp;nbsp;&lt;br /&gt;-R：递归显示。&amp;nbsp;&lt;br /&gt;--help：此命令的帮助。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;二、cd 改变目录&amp;nbsp;&lt;/span&gt;&lt;br /&gt;cd /:进入根目录&amp;nbsp;&lt;br /&gt;cd ：回到自己的目录（用户不同则目录也不同，root为/root，xxt为/home/xxt&amp;nbsp;&lt;br /&gt;cd ..：回到上级目录&amp;nbsp;&lt;br /&gt;pwd：显示当前所在的目录&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;三.less 文件名：&lt;/span&gt;查看文件内容。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;四.q 退出打开的文件。&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;五.上传文件：&amp;nbsp;&lt;/span&gt;rz 选择要传送的文件，确定。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;六.下载文件：&lt;/span&gt;&amp;nbsp;sz 指定文件名,enter敲，即下载到了secureCRT/download目录下。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;七：删除文件：&amp;nbsp;&lt;/span&gt;rm 删除文件&amp;nbsp;，rmdir 删除空目录。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;八.显示 最近输入的20条命令&lt;/span&gt;：history 20&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;九.获得帮助命令 --help查看命令下详细参数：&lt;/span&gt;&amp;nbsp;&amp;nbsp;如：rz --help&amp;nbsp;&amp;nbsp;&amp;nbsp;， sz --help&amp;nbsp; 。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;十.cd 进入某个文件夹的命令：&lt;/span&gt;&lt;br /&gt;mkdir+文件夹名 创建某个文件夹的命令&lt;br /&gt;sz+文件名 从服务器端向本机发送文件的命令&lt;br /&gt;rz 从本机向服务器端传送文件的命令&lt;br /&gt;ll 列出当前目录下的所有文件,包括每个文件的详细信息&lt;br /&gt;dir 对当前文件夹&lt;br /&gt;vi 打开当前文件&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;十一.在编辑某个文件的时候：&lt;/span&gt;&lt;br /&gt;a 切换到编辑模式&lt;br /&gt;ctrl+c 退出编辑模式&lt;br /&gt;dd 删除整行&lt;br /&gt;:q 退出当前文件&lt;br /&gt;:w 写入并保存当前文件&lt;br /&gt;-f 强行xx的参数。。。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: red; "&gt;其它命令：&lt;/span&gt;&lt;br /&gt;1.ps -ef&amp;nbsp; //查看server的进程,以列表形式显示的server进程。&lt;br /&gt;&amp;nbsp;ps 显示当前在系统运行的进程 /usr/bin/ps [选项] -e 显示每个现在运行的进程 -f 生成一个完全的列表&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;实际操作：&lt;br /&gt;--------------------------------------&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;1 SSH&lt;span style="font-family: 宋体; "&gt;客户端连接到&lt;/span&gt;10.5.1.55&lt;span style="font-family: 宋体; "&gt;系统（参见《启动远程客户端说明&lt;/span&gt;SecureCRT.doc&lt;span style="font-family: 宋体; "&gt;》）&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;$ cd /home/bea2/user_projects/csdomain/bin&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;2&amp;nbsp;&lt;span style="font-family: 宋体; "&gt;查看&lt;/span&gt;weblogic92&lt;span style="font-family: 宋体; "&gt;服务进程&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;$ ps -eaf | grep weblogic&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bea2 327926 331940&amp;nbsp;&amp;nbsp; 0 13:08:45&amp;nbsp;pts/4&amp;nbsp;0:00 grep weblogic&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; "&gt;webadmin 421908 368956&amp;nbsp;&amp;nbsp; 0 &amp;nbsp;&amp;nbsp;Sep 24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;4:13 /usr/java5_64/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/weblogic.policy weblogic.Server&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 15.75pt; "&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; background-position: initial initial; background-repeat: initial initial; "&gt;bea2 491796&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; "&gt;&amp;nbsp;385044&amp;nbsp;17 00:12:50&amp;nbsp;pts/6 182:55 /usr/java5_64/bin/java -Xms6g -Xmx8g -javaagent:/home/bea2/user_projects/csdomain/Introscope/wily/Agent.jar -Dcom.wily.introscope.agentProfile=/home/bea2/user_projects/csdomain/Introscope/wily/IntroscopeAgent.profile -Dcom.wily.introscope.agent.agentName=AdminServer -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dfile.encoding=GBK -Dibm.stream.nio=true -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/weblogic.policy weblogic.Server&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; font-family: 宋体; background-position: initial initial; background-repeat: initial initial; "&gt;说明：根据以上提示查看登陆用户&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; background-position: initial initial; background-repeat: initial initial; "&gt;bea2&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; font-family: 宋体; background-position: initial initial; background-repeat: initial initial; "&gt;启动的进程，注意标红的&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; background-position: initial initial; background-repeat: initial initial; "&gt;bea2&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; font-family: 宋体; background-position: initial initial; background-repeat: initial initial; "&gt;为进程拥有着，&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; background-position: initial initial; background-repeat: initial initial; "&gt;&amp;nbsp;491796&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 7.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: red; font-family: 宋体; background-position: initial initial; background-repeat: initial initial; "&gt;为进程号&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;3&amp;nbsp;&lt;span style="font-family: 宋体; "&gt;执行如下命令杀掉进程&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;$ kill -9 491796&lt;span style="font-family: 宋体; "&gt;（根据&lt;/span&gt;2&lt;span style="font-family: 宋体; "&gt;操做查找到得系统进程号）&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="font-family: 宋体; "&gt;说明：执行后再执行&lt;/span&gt;$ ps -eaf | grep weblogic&lt;span style="font-family: 宋体; "&gt;命令将不会看到该进程号的&lt;/span&gt;weblogic&lt;span style="font-family: 宋体; "&gt;进程&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;4&amp;nbsp;&lt;span style="font-family: 宋体; "&gt;启动服务&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;$ ./quickRun.sh&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;-------------------------------------------------------------------&lt;br /&gt;2.ant -buildfile CMS_MainTrunk.xml&amp;nbsp; //build 包&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;3.vi test.txt&amp;nbsp; //浏览文件内容&lt;br /&gt;i {insert写输入}&lt;br /&gt;esc&amp;nbsp; 退出insert&lt;br /&gt;:wq! write 保存并退出vi模式&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;:q!&amp;nbsp; 不保存退出vi模式&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;4.我一般习惯用ps &amp;#8211;ef命令，这样看到以列表形式显示的server进程；用命令pstree来查看server的进程，这样看到以树的形式显示的server进程。&lt;br /&gt;Pstree命令的优点在于可以立即找出某进程的父进程。您可能会需要使用 -p 选项显示每个进程的 PID，以及 -u 选项来显示启动该进程的用户名。&lt;br /&gt;一般来说，这一树结构比较长，您就需要这么执行 pstree &amp;#8211;up | less　这将让您纵览整个进程树结构。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;5.secureCRT中乱码解决：Options-&amp;gt;SessionOptions-&amp;gt;Appearance-&amp;gt;font把default改成UTF-8，就可以显示中文字体了。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;6.hostname：查hostname&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;7.ifconfig 查询主机IP&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;8.在S-CRT下用ctrl+c 和ctrl+v：&lt;br /&gt;Options---Global Options---Edit default Settings进去后点Terminal---Emulation然后点Mapped Keys，点中低部的，use windows copy and paste key，点确认。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #000000; "&gt;9.进入vi的命令：&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;vi filename :打开或新建文件，并将光标置于第一行首&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;vi +n filename ：打开文件，并将光标置于第n行首&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;vi + filename ：打开文件，并将光标置于最后一行首&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;vi +/pattern filename：打开文件，并将光标置于第一个与pattern匹配的串处&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #000000; "&gt;10.移动光标类命令：&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;}：光标移至段落开头&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;{：光标移至段落结尾&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;nG：光标移至第n行首&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;n+：光标下移n行&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;n-：光标上移n行&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;n$：光标移至第n行尾&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;H ：光标移至屏幕顶行&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;M ：光标移至屏幕中间行&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;L ：光标移至屏幕最后行&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;0：（注意是数字零）光标移至当前行首&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;$：光标移至当前行尾&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #000000; "&gt;11.屏幕翻滚类命令：&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;Ctrl+u：向文件首翻半屏&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;Ctrl+d：向文件尾翻半屏&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;Ctrl+f：向文件尾翻一屏&amp;nbsp; //好像是 r&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;Ctrl＋b；向文件首翻一屏&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #000000; "&gt;12.搜索命令：&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;/pattern：从光标开始处向文件尾搜索pattern&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;?pattern：从光标开始处向文件首搜索pattern&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;n：在同一方向重复上一次搜索命令&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000; "&gt;N：在反方向上重复上一次搜索命令&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;postgres使用：&lt;br /&gt;&lt;span style="color: #3366ff; "&gt;1.进入sql运行环境。&lt;/span&gt;&lt;br /&gt;[test@test bin]$ ./psql -n dbname -U usrname&lt;br /&gt;stay81=# select count(*) from table1;&lt;br /&gt;&amp;nbsp;count&amp;nbsp;&lt;br /&gt;-------&lt;br /&gt;&amp;nbsp; 5986&lt;br /&gt;(1 row)&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;2. 退出，使用结束后退出，不然连接一直被挂起。&lt;/span&gt;&lt;br /&gt;stay81=# \q&amp;nbsp;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;3.postgres 数据导出。&lt;/span&gt;&lt;br /&gt;[postgres@test bin]$ ./pg_dump -U postgres -t testTable -d testDB &amp;gt; testTable.dump&lt;br /&gt;或[postgres@test bin]$ ./pg_dump -U postgres -d testDB -t testTable -F c -v &amp;gt; testTable.dump&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;4. postgres 数据导入。&lt;/span&gt;&lt;br /&gt;[postgres@test bin]$ ./psql -U postgres -d testDB &amp;lt; testTable.dump&lt;br /&gt;或[postgres@test bin]$ ./pg_restore -U postgres -d testDB &amp;lt; testTable.dump&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;5.一台主机上将数据库目录转储到另一台主机上。&lt;/span&gt;&lt;br /&gt;pg_dump -h host1 -p 5432 dbname | psql -h host2 -p post1 dbname&lt;br /&gt;或./pg_dump -U postgres -d testDB1 -t testTable | ./psql -U postgres -d testDB2&lt;br /&gt;-U 为用户名 ，-d 为DB名，-t 为表名称，如果整个数据库导出，不需此项。&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #3366ff; "&gt;6.php执行。&lt;/span&gt;&lt;br /&gt;[test@test bin]$ /usr/bin/php -q ./batchstart.php&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 13px; margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span style="color: #ff0000; "&gt;&lt;br /&gt;实战操作：&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;dvlp&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; dvlp_bak20090413&amp;nbsp; personal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6$ cd dvlp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp$ cd SV_POLICY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;include&amp;nbsp; src&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY$ cd src&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY/src$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY/src$ ls *pc&amp;nbsp;&amp;nbsp;&amp;nbsp; //对文件进行筛选&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY/src$ grep VIP *pc //列出包含VIP的所有.pc的文件的代码的一部分。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; "&gt;/home/absys6/dvlp/SV_POLICY/src$ vi PlyPrmCnt.pc&amp;nbsp; //查看整个文件。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;还可见其它命令：http://www.zjgzx.com/blog/user1/1/archives/2008/4607.html&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ztf2008/archive/2009/09/11/1564979.html"&gt;http://www.cnblogs.com/ztf2008/archive/2009/09/11/1564979.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/1908185.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2010/12/16/1908185.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2010/11/11/1874667.html</id><title type="text">通过反射该变WCF的Endpoint的行为，而无需修改客户端配置文件</title><summary type="text">1，首先，修正了一个由于List&amp;lt;TEntity&amp;gt;数据量过大导致的异常：http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html2，修正了此问题之后，发现修改了客户端的app.config文件，这对于发布及其不爽，因为每个客户的app.config不同，这会导致发布后每个客户机上的文件一致；于是，想用代码动态的设置终...</summary><published>2010-11-11T03:00:00Z</published><updated>2010-11-11T03:00:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2010/11/11/1874667.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2010/11/11/1874667.html"/><content type="html">&lt;p&gt;1，首先，修正了一个由于List&amp;lt;TEntity&amp;gt;数据量过大导致的异常：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html"&gt;http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2，修正了此问题之后，发现修改了客户端的app.config文件，这对于发布及其不爽，因为每个客户的app.config不同，这会导致发布后每个客户机上的文件一致；&lt;/p&gt;&lt;p&gt;于是，想用代码动态的设置终结点的行为。&lt;/p&gt;&lt;p&gt;3，在调试过程中，先配置好了客户端，发现了ChannelFactory&amp;lt;T&amp;gt; 的终结点行为列表已经包括了对象： System.ServiceModel.Dispatcher.DataContractSerializerServiceBehavior，通过reflector一查，发现该对象的定义为internal：&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: monospace; white-space: pre; "&gt;&lt;font color="#1000a0"&gt;internal&lt;/font&gt; &lt;font color="#1000a0"&gt;class&lt;/font&gt; &lt;strong&gt;&lt;a  href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.ServiceModel:4.0.0.0:b77a5c561934e089/System.ServiceModel.Dispatcher.DataContractSerializerServiceBehavior"&gt;DataContractSerializerServiceBehavior&lt;/a&gt;&lt;/strong&gt; : &lt;a title="System.ServiceModel.Description.IServiceBehavior" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.ServiceModel:4.0.0.0:b77a5c561934e089/System.ServiceModel.Description.IServiceBehavior"&gt;IServiceBehavior&lt;/a&gt;, &lt;a title="System.ServiceModel.Description.IEndpointBehavior" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.ServiceModel:4.0.0.0:b77a5c561934e089/System.ServiceModel.Description.IEndpointBehavior"&gt;IEndpointBehavior&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;4，于是机会有了：可以通过反射创建对象塞入到终结点的行为列表中了：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&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;&amp;nbsp;&amp;nbsp;　　　　&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;ChannelFactory&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;IServiceChannel&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetChannelFactory()&lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(_factory&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_factory&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;ChannelFactory&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;IServiceChannel&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;BasicHttpBinding_IService&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;AttachServiceBehavior(_factory);&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;}&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;_factory;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&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;private&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;AttachServiceBehavior(ChannelFactory&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;IServiceChannel&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;channelFactory)&lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;找到程序集的其中任何一个class，确定程序集&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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;var&amp;nbsp;type&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;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(ClientRuntime);&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;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;实例化internal类，通过反射&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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;var&amp;nbsp;instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;type.Assembly.CreateInstance(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;System.ServiceModel.Dispatcher.DataContractSerializerServiceBehavior&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;true&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BindingFlags.CreateInstance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;BindingFlags.Instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BindingFlags.NonPublic,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&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;Int32.MaxValue},&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;null&lt;/span&gt;&lt;span style="color: #000000;"&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;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;转换成终结点的行为接口&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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;var&amp;nbsp;behavior&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;as&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;IEndpointBehavior;&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(behavior&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;插入到通道工厂的终结点行为集合中&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channelFactory.Endpoint.Behaviors.Add(behavior);&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;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;测试，通过&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/1874667.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2010/11/11/1874667.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html</id><title type="text">System.ServiceModel.CommunicationException：The underlying connection was closed: The connection was closed unexpectedly</title><summary type="text">在开发WCF的过程中，发现了当请求数据量超过了一定大小的时候，就报异常：System.ServiceModel.CommunicationException：The underlying connection was closed: The connection was closed unexpectedly先看服务器：[代码]再看客户端：[代码]通过寻找，终于找到原因：原来是behavior在作...</summary><published>2010-11-10T14:19:00Z</published><updated>2010-11-10T14:19:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html"/><content type="html">&lt;p&gt;在开发WCF的过程中，发现了当请求数据量超过了一定大小的时候，就报异常：&lt;/p&gt;&#xD;
&lt;p&gt;System.ServiceModel.CommunicationException：The underlying connection was closed: The connection was closed unexpectedly&lt;/p&gt;&#xD;
&lt;p&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: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;configSections&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;section&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="cachingConfiguration"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings,&amp;nbsp;Microsoft.Practices.EnterpriseLibrary.Caching,&amp;nbsp;Version=5.0.414.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;requirePermission&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&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;&lt;br /&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;configSections&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;cachingConfiguration&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;defaultCacheManager&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Session"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;cacheManagers&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;add&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Session"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager,&amp;nbsp;Microsoft.Practices.EnterpriseLibrary.Caching,&amp;nbsp;Version=5.0.414.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;expirationPollFrequencyInSeconds&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="60"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maximumElementsInCacheBeforeScavenging&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="10000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;numberToRemoveWhenScavenging&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="10"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;backingStoreName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="NullBackingStore"&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;&lt;br /&gt;&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;cacheManagers&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;backingStores&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;add&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore,&amp;nbsp;Microsoft.Practices.EnterpriseLibrary.Caching,&amp;nbsp;Version=5.0.414.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="NullBackingStore"&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;&lt;br /&gt;&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;backingStores&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;cachingConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.web&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;compilation&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;debug&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;targetFramework&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="4.0"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;assemblies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;add&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;assembly&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="System.Data.Entity,&amp;nbsp;Version=4.0.0.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=b77a5c561934e089"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;assemblies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;compilation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.web&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.serviceModel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;该值指示此服务是否在&amp;nbsp;ASP.NET&amp;nbsp;HTTP&amp;nbsp;应用程序管道的上下文中运行&lt;/span&gt;&lt;span style="color: #008000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;serviceHostingEnvironment&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;aspNetCompatibilityEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;multipleSiteBindingsEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&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;&lt;br /&gt;&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;services&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;service&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="WmsService.Service"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;behaviorConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="XRServiceBehavior"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;endpoint&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BasicHttpBinding"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="basicHttpBinding"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;contract&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="WmsService.IService"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;service&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;services&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;behaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;serviceBehaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="XRServiceBehavior"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;serviceMetadata&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;httpGetEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;serviceDebug&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;httpHelpPageEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;includeExceptionDetailInFaults&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&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;&lt;br /&gt;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&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;serviceBehaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;behaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BasicHttpBinding"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;allowCookies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxReceivedMessageSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBufferPoolSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBufferSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;readerQuotas&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;maxDepth&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxStringContentLength&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxArrayLength&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBytesPerRead&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxNameTableCharCount&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;security&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;mode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;transport&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;proxyCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;realm&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&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;&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;message&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UserName"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;algorithmSuite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Default"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;security&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.serviceModel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.webServer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;modules&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;runAllManagedModulesForAllRequests&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&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;&lt;br /&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;system.webServer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&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;/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: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&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;system.serviceModel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BasicHttpBinding_IService"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;allowCookies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxReceivedMessageSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBufferPoolSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBufferSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;readerQuotas&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;maxDepth&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxStringContentLength&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxArrayLength&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxBytesPerRead&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;maxNameTableCharCount&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;security&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;mode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;transport&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;proxyCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="None"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;realm&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&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;&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;message&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UserName"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;algorithmSuite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Default"&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;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;security&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;client&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;endpoint&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;address&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://localhost:3609/Service.svc"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="basicHttpBinding"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;bindingConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BasicHttpBinding_IService"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;contract&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="WmsService.IService"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BasicHttpBinding_IService"&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;&lt;br /&gt;&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;client&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;system.serviceModel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&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;/p&gt;&#xD;
&lt;p&gt;通过寻找，终于找到原因：原来是behavior在作怪：在行为节点下面有一个类dataContractSerializer，此类有一个属性MaxItemsInObjectGraph，用来控制序列化&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; font-family: 'Segoe UI', Verdana, Arial; font-size: 13px" &gt;&lt;span id="xn2_ed805227cdbd9ca64a063c6b44e716c5" &gt;对象中允许的最大项数。&lt;/span&gt;&lt;span id="xn3_e407436552115b6458ffa51a36cacb1e" &gt;默认值为 65536 字节 (64KB)，一旦数据超出了该值，则抛出通信异常。解决方法：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; font-family: 'Segoe UI', Verdana, Arial; font-size: 13px" &gt;&lt;span &gt;在服务器的的行为配置下加上&amp;lt;dataContractSerializer maxItemsInObjectGraph="2147483647"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; font-family: 'Segoe UI', Verdana, Arial; font-size: 13px" &gt;&lt;span &gt;在客户端加上节点：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; font-family: 'Segoe UI', Verdana, Arial; font-size: 13px" &gt;&lt;span &gt;&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;behaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;endpointBehaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="superBehavior"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dataContractSerializer&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;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;maxItemsInObjectGraph&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2147483647"&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;&lt;br /&gt;&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;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&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;endpointBehaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;behaviors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;然后在endpoint节点上设置属性：behaviorConfiguration="superBehavior"。&lt;/p&gt;&#xD;
&lt;p&gt;测试通过。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/1874249.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2010/11/10/1874249.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sinxsoft/archive/2010/09/20/1831822.html</id><title type="text">转。收藏。Dump ADPlus</title><summary type="text">http://aloneplayer.spaces.live.com/blog/cns!C3CB6D654135F83D!422.entry?wa=wsignin1.0&amp;amp;sa=10734357Working with Dump File 如果程序员比作侦探,那Dump文件就像是凶案现场的全息照片. 导致用户的程序崩溃的原因很复杂,可能是用户的配置,可能是和其他软件冲突,开发人员无法重现此类...</summary><published>2010-09-20T08:23:00Z</published><updated>2010-09-20T08:23:00Z</updated><author><name>sinxsoft</name><uri>http://www.cnblogs.com/sinxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sinxsoft/archive/2010/09/20/1831822.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sinxsoft/archive/2010/09/20/1831822.html"/><content type="html">&lt;span  style="font-family: 'Microsoft Yahei', Verdana, Simsun; line-height: 20px; font-size: 12px; color: #404040; "&gt;&lt;div id="LastMDatecns!C3CB6D654135F83D!422" style="line-height: 20px; "&gt;&lt;a href="http://aloneplayer.spaces.live.com/blog/cns!C3CB6D654135F83D!422.entry?wa=wsignin1.0&amp;amp;sa=10734357"&gt;http://aloneplayer.spaces.live.com/blog/cns!C3CB6D654135F83D!422.entry?wa=wsignin1.0&amp;amp;sa=10734357&lt;/a&gt;&lt;/div&gt;&lt;h4  id="subjcns!C3CB6D654135F83D!422" style="line-height: 19px; font-size: 13px; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; color: #404040; "&gt;Working with Dump File&lt;/strong&gt;&lt;/p&gt;&lt;div id="msgcns!C3CB6D654135F83D!422"  style="line-height: 20px; width: 820px; overflow-x: hidden; overflow-y: hidden; text-overflow: ellipsis; "&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;如果程序员比作侦探,那Dump文件就像是凶案现场的全息照片.&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 导致用户的程序崩溃的原因很复杂,可能是用户的配置,可能是和其他软件冲突,开发人员无法重现此类问题,也无法访问用户的机器,更无法attach到崩溃的进程上,此时解决问题的最好方法就是向用户索取问题发生时的dump文件,然后开始调查.&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;font size="3" style="line-height: normal; "&gt;&lt;strong style="line-height: 27px; font-weight: bold; "&gt;Creating Dump File&lt;br style="line-height: 27px; " /&gt;&lt;/strong&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在Vista环境中抓取Dump文件很方便,在task manager(Ctrl-Shift-Esc)中,选中要生成dump文件的进程,点击context menu中的"Creat Dump File"就可以了.&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;通常,使用WinDBG目录下(C:\Program Files\Debugging Tools for Windows (x86))的adplus.vbs来抓取dump file.&amp;nbsp;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adplus -hang -p 2960&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //当进程2960失去响应时生成dump&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adplus -crash -pn w3wp.exe&amp;nbsp; //在w3wp.exe终止或被回收时生成dump&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adplus -crash -pn w3wp.exe -NoDumpOnFirst //同上,不对 first chance exceptions生成dump&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;adplus是一个vb script文件,运行CDB(就是命令行下的WinDBG),负责监视系统中将要发生的异常.&lt;br style="line-height: 20px; " /&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font size="3" style="line-height: normal; "&gt;Adplus参数设置&lt;br style="line-height: 27px; " /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="588" border="1" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;tbody style="line-height: 20px; "&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-huang&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;进程运行时,随时可以使用-hang参数得到一个Dump文件, 而不需要考虑线程是否真的处于死锁中,用于诊断高内存使用率, 高CPU使用率。&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在hang模式下，dump file是以非侵入方式被抓取的, 并没有中断线程, 因此不需要跟启动进程有相同的身份,在客户端调试服务器时,hang模式抓取dump file很有用。&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-crash&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在进程异常终止时抓取dump file.&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 进程异常终止有3种情况:&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.unhandled的exception&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.asp.net进程由于iis reset或recycle而终止.&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.出现heap毁坏,栈溢出,内存不足等错误,进程必须退出&lt;br style="line-height: 20px; " /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-pn&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定要分析的进程名。使用多个&amp;#8220;-pn process name&amp;#8221;开关来指定多个进程。&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-o&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;dump file的存储路径,缺省为adplus所在路径&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-FullOnFirst&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create full dumps on first chance exceptions&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-MiniOnSecond&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-NoDumpOnFirst&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果exception被try-catch block处理,使用这个参数就不会生成dump file&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-NoDumpOnSecond&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="120" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;-quiet&lt;/td&gt;&lt;td valign="top" width="464" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No dialog boxes will be displayed&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;什么是First Chance Exception 和 Second Chance Exception?&lt;/strong&gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 当程序抛出异常(.net 或 native exception),此时这个exception为1st chance exception,如果这个exception 没有被 try-catch block处理,这个exception就会成为2nd chance exception (unhandled exception) 当前进程随后终止.&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;什么是Mini Dump 和Full Dump?&lt;br style="line-height: 20px; " /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user-mode Mini Dump,保存了进程crash时virtual memory的部分内容.有些SOS的命令在Mini Dump上不能工作.Mini Dump的内容和大小和被dump的程序有关.Mini Dump所包含的信息并不一定比Full Dump少.&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Full User-Mode Dumps包含了进程的整个内存空间,程序的image,handle table等调试信息.&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font size="3" style="line-height: normal; "&gt;Adplus的输出&lt;/font&gt;&lt;/strong&gt;&lt;br style="line-height: 20px; " /&gt;adplus.vbs所在的路径下生成一个目录,形如&amp;lt;crash或huang&amp;gt;_Mode__Date_07-22-2008__Time_10-35-1212,目录中包含&lt;/p&gt;&lt;ul style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 1em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; list-style-type: disc; "&gt;&lt;li style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; "&gt;CDBScripts - 包含用来通知windbg/cdb运行什么命令的配置文件的文件夹。&lt;/li&gt;&lt;li style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; "&gt;ADPlus_report&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font color="#ff0000" style="line-height: normal; "&gt;.txt&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;- 记录adplus Attach到进程以后的信息&lt;/li&gt;&lt;li style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; "&gt;PID-&amp;lt;进程ID&amp;gt;__&amp;lt;进程名&amp;gt;.EXE__Date_07-18-2008__Time_14-55-0505&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font color="#ff0000" style="line-height: normal; "&gt;.log&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;- adplus的运行时日志，在hang模式下，这个文件里包括堆栈里所有线程、已经加载的模块的信息和等同于执行!runaway命令的输出结果。如果内存转储文件创建失败，可以到这个文件的底部去查找原因。&lt;/li&gt;&lt;li style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; "&gt;PID-&amp;lt;进程ID&amp;gt;__&amp;lt;进程名&amp;gt;.EXE__full_1c38_2008-07-18_14-59-08-005_1618.dmp - 就是&lt;strong style="line-height: 20px; font-weight: bold; "&gt;dump file&lt;/strong&gt;&lt;/li&gt;&lt;li style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; "&gt;Process_List&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font color="#ff0000" style="line-height: normal; "&gt;.txt&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;- tlist.exe 的输出，显示在生成内存转储文件的时候，系统中有多少进程在同时运行。&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;如果程序由于unhandled exception而终止,会得到多个dump,比如&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID-4588__ASPNET_WP.EXE__1st_chance_AccessViolation__mini_15b8_2008-07-22_10-35-28-827_11ec.dmp&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID-4588__ASPNET_WP.EXE__1st_chance_Process_Shut_Down__full_15b8_2008-07-22_10-35-36-609_11ec.dmp&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID-4588__ASPNET_WP.EXE__2nd_chance_NET_CLR__full_15b8_2008-07-22_10-35-29-420_11ec.dmp&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID-4588__ASPNET_WP.EXE__Date_07-22-2008__Time_10-35-1212.log&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process_List.txt&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;这些dump文件表明:&lt;br style="line-height: 20px; " /&gt;首先发生了一个非法访问,也许就是一个NullReferenceException,adplus捕获到这个Exception,生成一个mini dump(1st_chance_AccessViolation__mini)&lt;br style="line-height: 20px; " /&gt;这个Exception没有被处理,就接着产生CLR exception 对应的dump(2nd_chance_NET_CLR__full)&lt;br style="line-height: 20px; " /&gt;然后进程终止,产生dump file: 1st_chance_Process_Shut_Down__full&amp;nbsp;&lt;br style="line-height: 20px; " /&gt;真正用来解决问题的是2nd Chance CLR Exception 对应的dump file&lt;br style="line-height: 20px; " /&gt;如果只得到一个dump,就可以证明crash不是由于unhandled exception引起的&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;font size="3" style="line-height: normal; "&gt;&lt;strong style="line-height: 27px; font-weight: bold; "&gt;Adplus的高级用法&lt;/strong&gt;&lt;br style="line-height: 27px; " /&gt;&lt;/font&gt;可以给adplus指定配置文件,在某个特定的Exception发生时生成dump file,并把dump file存在特定目录下&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp; adplus -c myconfig.cfg -pn w3wp.exe&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="669" border="1" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;tbody style="line-height: 20px; "&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="667" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;myconfig.cfg&lt;/td&gt;&lt;/tr&gt;&lt;tr style="line-height: 20px; "&gt;&lt;td valign="top" width="667" style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&amp;lt;ADPlus&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Settings&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RunMode&amp;gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;crash&lt;/strong&gt;&amp;lt;/RunMode&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Settings&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PreCommands&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cmd&amp;gt; !load clr10\sos&amp;lt;/Cmd&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/PreCommands&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Exceptions&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Option&amp;gt;&amp;nbsp;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;NoDumpOnFirstChance&lt;/strong&gt;&amp;nbsp;&amp;lt;/Option&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Option&amp;gt;&amp;nbsp;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;NoDumpOnSecondChance&lt;/strong&gt;&amp;nbsp;&amp;lt;/Option&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Config&amp;gt;&lt;br style="line-height: 20px; " /&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;font color="#008040" style="line-height: normal; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&amp;lt;!-- This is for the CLR exception --&amp;gt;&lt;br style="line-height: 20px; " /&gt;&lt;/strong&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Code&amp;gt; clr &amp;lt;/Code&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Actions1&amp;gt; Log &amp;lt;/Actions1&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CustomActions1&amp;gt; !clr10\sos.cce&amp;nbsp;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font color="#ff0000" style="line-height: normal; "&gt;System.Runtime.InteropServices.COMException&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;1; j ($t1 = 1) '.dump /ma /u&amp;nbsp;&lt;font color="#ff0000" style="line-height: normal; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;c:\dumps\exceptiondump.dmp&lt;/strong&gt;;&lt;/font&gt;gn' ; 'gn' &amp;lt;/CustomActions1&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ReturnAction1&amp;gt; GN &amp;lt;/ReturnAction1&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Actions2&amp;gt; Void &amp;lt;/Actions2&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ReturnAction2&amp;gt; GN &amp;lt;/ReturnAction2&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Config&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Exceptions&amp;gt;&lt;br style="line-height: 20px; " /&gt;&amp;lt;/ADPlus&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font size="3" style="line-height: normal; "&gt;Dump文件的使用技巧&lt;br style="line-height: 27px; " /&gt;&lt;/font&gt;&lt;/strong&gt;为Dump文件生成Context Menu,可以方便地打开WinDBG,加载Dump文件,并执行一些初始化命令.详情见Tess的blog:&amp;nbsp;&lt;a href="http://blogs.msdn.com/tess/archive/2005/12/05/500020.aspx" style="line-height: 20px; font-weight: inherit; text-decoration: none; color: #0066a7; cursor: pointer; "&gt;Associate windbg with .dmp files&lt;/a&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;strong style="line-height: 20px; font-weight: bold; "&gt;&lt;font size="3" style="line-height: normal; "&gt;参考文档&lt;/font&gt;&lt;/strong&gt;&lt;br style="line-height: 20px; " /&gt;&lt;a href="http://blogs.msdn.com/johan/archive/2007/01/11/how-to-install-windbg-and-get-your-first-memory-dump.aspx" style="line-height: 20px; font-weight: inherit; text-decoration: none; color: #0066a7; cursor: pointer; "&gt;How to install Windbg and get your first memory dump&lt;/a&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163833.aspx" style="line-height: 20px; font-weight: inherit; text-decoration: none; color: #0066a7; cursor: pointer; "&gt;Mini Dump Snapshots and the New SOS&lt;/a&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;a href="http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx" style="line-height: 20px; font-weight: inherit; text-decoration: none; color: #0066a7; cursor: pointer; "&gt;Post-Mortem Debugging Your Application with Minidumps and Visual Studio .NET&lt;/a&gt;&lt;/p&gt;&lt;p style="line-height: 20px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.35em; margin-left: 0px; "&gt;&lt;a href="http://blogs.msdn.com/tom/archive/2008/07/28/sos-commands-not-working-on-a-mini-dump.aspx" style="line-height: 20px; font-weight: inherit; text-decoration: none; color: #0066a7; cursor: pointer; "&gt;SOS: Commands not working on a mini-dump&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/sinxsoft/aggbug/1831822.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sinxsoft/archive/2010/09/20/1831822.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
