<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Sharping's Technique Claver</title><subtitle type="text">Just be a low-level developer !</subtitle><id>http://feed.cnblogs.com/blog/u/16327/rss</id><updated>2011-07-15T08:52:48Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/16327/rss"/><entry><id>http://www.cnblogs.com/Endink/archive/2011/07/15/2107634.html</id><title type="text">Silverlight 版工作流设计器第二次更新，欢迎拍砖</title><summary type="text">再次发布工作流设计器的最新进展效果，公司的需求已经基本实现，类库已经交付业务开发人员。我个人想继续完善这个设计器，今后或许作为免费组件提供，或许直接托管到Codeplex开源。本次更新内容：1、加入右键菜单功能2、支持任意点作为outbound点3、改进部分连线算法3、支持Del键命令（以下为示例：每个Activity仅支持一个出口，支持多个入口，其实程序是支持自定义设置的）另求判断活动中的菱形绘制代码，目前使用的是Rect加旋转变换，发现在载入时会有一个短暂的（不注意看不到）的变换动画效果，可否去除这个动画？我想听听在项目中使用过Workflow的同行对目前的设计器有什么建议和好的提议。</summary><published>2011-07-15T08:53:00Z</published><updated>2011-07-15T08:53:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2011/07/15/2107634.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2011/07/15/2107634.html"/><content type="html">&lt;p&gt;再次发布工作流设计器的最新进展效果，公司的需求已经基本实现，类库已经交付业务开发人员。我个人想继续完善这个设计器，今后或许作为免费组件提供，或许直接托管到Codeplex开源。&lt;/p&gt;&#xD;
&lt;p&gt;本次更新内容：&lt;/p&gt;&#xD;
&lt;p&gt;1、加入右键菜单功能&lt;/p&gt;&#xD;
&lt;p&gt;2、支持任意点作为outbound点&lt;/p&gt;&#xD;
&lt;p&gt;3、改进部分连线算法&lt;/p&gt;&#xD;
&lt;p&gt;3、支持Del键命令&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;（以下为示例：每个Activity仅支持一个出口，支持多个入口，其实程序是支持自定义设置的）&lt;/p&gt;&#xD;
&lt;p&gt;另求判断活动中的菱形绘制代码，目前使用的是Rect加旋转变换，发现在载入时会有一个短暂的（不注意看不到）的变换动画效果，可否去除这个动画？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;我想听听在项目中使用过Workflow的同行对目前的设计器有什么建议和好的提议。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAACOagAAnigAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAACQAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBFAG4AZABpAG4AawAvAE0AbwB6AGEAcgB0AC4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AC4AVwBvAHIAawBGAGwAbwB3AEQAZQBzAGkAZwBuAGUAcgAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYAAAANAAuADAALgA1ADAAOAAyADYALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAA=" width="100%" type="application/x-silverlight-2" height="100%"&gt;&#xD;
&lt;param name="source" value="http://files.cnblogs.com/Endink/Mozart.Silverlight.WorkFlowDesigner.xap" /&gt;&lt;param name="onError" value="onSilverlightError" /&gt;&lt;param name="background" value="white" /&gt;&lt;param name="minRuntimeVersion" value="4.0.50826.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=4.0.50826.0"&gt;&#xD;
&lt;img alt="获取 Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376"   /&gt;&#xD;
&lt;/a&gt;&lt;/object&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Endink/aggbug/2107634.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Endink/archive/2011/07/15/2107634.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Endink/archive/2011/07/05/2098199.html</id><title type="text">Silverlight 版工作流设计器示例</title><summary type="text">正在开发的 Silverlight 流程设计器，希望高手提供布线的算法，目前的布线总是会出现和边贴合的情况。目前实现功能：活动拖拽 在接点处拖拽可生成连线 选择中活动或连线后，按 Del 键可删除活动或连线</summary><published>2011-07-05T04:49:00Z</published><updated>2011-07-05T04:49:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2011/07/05/2098199.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2011/07/05/2098199.html"/><content type="html">&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;正在开发的 Silverlight 流程设计器，希望高手提供布线的算法，目前的布线总是会出现和边贴合的情况。&lt;/p&gt;&#xD;
&lt;p&gt;目前实现功能：活动拖拽&lt;/p&gt;&#xD;
&lt;p&gt;在接点处拖拽可生成连线&lt;/p&gt;&#xD;
&lt;p&gt;选择中活动或连线后，按 Del 键可删除活动或连线&lt;/p&gt;&#xD;
&lt;p&gt;&lt;object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADdagAAnigAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAACIAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBFAG4AZABpAG4AawAvAE0AbwB6AGEAcgB0AC4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AC4ARgBsAG8AdwBEAGUAcwBpAGcAbgBlAHIALgB4AGEAcAAAADwAAAAAAAAAJgAAAG8AbgBTAGkAbAB2AGUAcgBsAGkAZwBoAHQARQByAHIAbwByAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAGAAAADQALgAwAC4ANQAwADgAMgA2AC4AMAAAAAoAAAB0AHIAdQBlAAAAAAAAAAAAAAAAAAAA" width="100%" type="application/x-silverlight-2" height="100%"&gt;&#xD;
&lt;param name="source" value="http://files.cnblogs.com/Endink/Mozart.Silverlight.FlowDesigner.xap" /&gt;&lt;param name="onError" value="onSilverlightError" /&gt;&lt;param name="background" value="white" /&gt;&lt;param name="minRuntimeVersion" value="4.0.50826.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=4.0.50826.0"&gt;&#xD;
&lt;img alt="获取 Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /&gt;&#xD;
&lt;/a&gt;&#xD;
&lt;/object&gt;&#xD;
&lt;/p&gt; &#xD;
&lt;img src="http://www.cnblogs.com/Endink/aggbug/2098199.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Endink/archive/2011/07/05/2098199.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Endink/archive/2010/07/15/1778049.html</id><title type="text">Mobile WCF Bug???</title><summary type="text">最近做一个Mobile项目，服务端采用java Xfire的WebService, 客户端为Windows Mobile, Mobile 程序使用 WCF 客户端， 测试环境服务器为Tomcat, 一切正常，迁移到WebLogic 10 出现一个奇怪的问题。</summary><published>2010-07-15T07:08:00Z</published><updated>2010-07-15T07:08:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2010/07/15/1778049.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2010/07/15/1778049.html"/><content type="html">&lt;p&gt;最近做一个Mobile项目，服务端采用java Xfire的WebService, 客户端为Windows Mobile,&amp;nbsp;Mobile 程序使用&amp;nbsp;WCF 客户端，&amp;nbsp;测试环境服务器为Tomcat, 一切正常，迁移到WebLogic 10 出现一个奇怪的问题。&lt;/p&gt;&#xD;
&lt;p&gt;形如下面的服务方法：&lt;/p&gt;&#xD;
&lt;p&gt;public&amp;nbsp;User GetUser();&lt;/p&gt;&#xD;
&lt;p&gt;其中User为一个自定义引用对象。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;当服务返回空 （null ）时, 使用 NetCFSvcUtil 生成代码调用此方法时，返回的 User 并不为 null,&amp;nbsp; 居然是一个使用默认构造函数构造的 User 对象（所有属性为默认值），最后通过调式代码发现是客户端在处理Xml&amp;nbsp;中的 Nillable 属性时存在缺陷。&lt;/p&gt;&#xD;
&lt;p&gt;以下是响应的Soap消息体（消息头的命名空间定义省略）：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;GetUserResonse&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;out&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;User xsi:nil="true"&amp;gt;&amp;lt;/User&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/out&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/GetUserResonse&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这种格式的XML 使用&amp;nbsp;XmlSerializer 类进行反序列化会产生非空的 User 对象。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;而下面这种格式就会产生null对象（正确的解析）：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;GetUserResonse&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;out&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;User xsi:nil="true" /&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/out&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/GetUserResonse&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;我就纳闷了，&amp;lt;User xsi:nil="true"&amp;gt;&amp;lt;/User&amp;gt;和&amp;lt;User xsi:nil="true" /&amp;gt;只是表示形式不同，但是XmlSerializer反序列化会产生不同的结果，不知哪位大拿能够给小弟解惑。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;目前的解决方案，在CFContractSerializer中添加FormatNillable方法：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('a5aa3b3d-05fb-42ff-83d5-0eef636e6470')"&gt;&lt;img id="code_img_opened_a5aa3b3d-05fb-42ff-83d5-0eef636e6470"  onclick="cnblogs_code_hide('a5aa3b3d-05fb-42ff-83d5-0eef636e6470',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div id="cnblogs_code_open_a5aa3b3d-05fb-42ff-83d5-0eef636e6470"&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Stream&amp;nbsp;FormatNillable(XmlReader&amp;nbsp;reader)&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;MemoryStream&amp;nbsp;ms&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;MemoryStream();&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;XmlDocument&amp;nbsp;xd&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;XmlDocument();&lt;br /&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;xd.Load(reader);&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;XmlNamespaceManager&amp;nbsp;manager&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;XmlNamespaceManager(xd.NameTable);&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;manager.AddNamespace(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;nn&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;http://www.w3.org/2001/XMLSchema-instance&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;XmlNodeList&amp;nbsp;list&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xd.SelectNodes(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;//*[@nn:nil&amp;nbsp;=&amp;nbsp;'true']&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;manager);&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;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(XmlElement&amp;nbsp;element&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;list)&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;element.IsEmpty&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&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;&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;xd.Save(ms);&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;ms.Position&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&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;ms;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&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;修改CFContractSerializer的ReadObject方法：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('d2d8f049-d630-4079-b728-1e27701cdd06')"&gt;&lt;img id="code_img_opened_d2d8f049-d630-4079-b728-1e27701cdd06"  onclick="cnblogs_code_hide('d2d8f049-d630-4079-b728-1e27701cdd06',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div id="cnblogs_code_open_d2d8f049-d630-4079-b728-1e27701cdd06"&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&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;ReadObject(System.Xml.XmlDictionaryReader&amp;nbsp;reader,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;verifyObjectName)&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;((verifyObjectName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;))&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: #0000ff"&gt;throw&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;System.NotSupportedException();&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;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.info.IsWrapped)&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;&amp;nbsp;Some&amp;nbsp;WSDLs&amp;nbsp;incorrectly&amp;nbsp;advertise&amp;nbsp;their&amp;nbsp;response&amp;nbsp;message&amp;nbsp;namespaces.&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;&amp;nbsp;Attempt&amp;nbsp;to&amp;nbsp;interop&amp;nbsp;with&amp;nbsp;these&amp;nbsp;by&amp;nbsp;coercing&amp;nbsp;our&amp;nbsp;expected&amp;nbsp;namespace&amp;nbsp;to&amp;nbsp;match.&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.serializer.CanDeserialize(reader)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;))&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;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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.createSerializer(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Xml.XmlQualifiedName(System.Xml.XmlConvert.DecodeName(reader.LocalName),&amp;nbsp;reader.NamespaceURI));&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;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: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Stream&amp;nbsp;stream&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.FormatNillable(reader))&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;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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.serializer.Deserialize(stream);&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;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;else&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;System.IO.MemoryStream&amp;nbsp;ms&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;System.IO.MemoryStream();&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;System.Xml.XmlWriterSettings&amp;nbsp;settings&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;System.Xml.XmlWriterSettings();&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;settings.OmitXmlDeclaration&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&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;System.Xml.XmlWriter&amp;nbsp;innerWriter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Xml.XmlDictionaryWriter.Create(ms,&amp;nbsp;settings);&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;innerWriter.WriteStartElement(artificialWrapper.Name,&amp;nbsp;artificialWrapper.Namespace);&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: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;commonPrefixes&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&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;&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: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;xsi&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;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;xsd&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;commonPrefixes.Length);&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&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;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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ns&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;reader.LookupNamespace(commonPrefixes[i]);&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((ns&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;innerWriter.WriteAttributeString(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;commonPrefixes[i],&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;ns);&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;}&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;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: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&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;;&amp;nbsp;((reader.NodeType&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Xml.XmlNodeType.EndElement)&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;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;);&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;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;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;innerWriter.WriteNode(reader,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&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;}&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;innerWriter.WriteEndElement();&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;innerWriter.Close();&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;ms.Position&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&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;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(System.Xml.XmlReader&amp;nbsp;innerReader&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Xml.XmlDictionaryReader.Create(ms))&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;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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Stream&amp;nbsp;stream&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.FormatNillable(innerReader))&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;{&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;obj&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.serializer.Deserialize(stream);&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;obj;&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;}&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;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;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;通过手工格式化这个XML可以处理此问题，但是这里还是恳请高手赐教，这是WCF的BUG还是我对这个问题理解有误？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Endink/aggbug/1778049.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Endink/archive/2010/07/15/1778049.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Endink/archive/2009/04/20/1439949.html</id><title type="text">探讨一下Quartz.NET的源代码</title><summary type="text">一直在寻找.NET下优秀的Scheduler项目，找来找去似乎就只有一个从Java移植过来的Quartz.NET,以下简称QN， 网上也有不少人在写入门教程，更不乏盛赞者，我很早就下了它的源代码一直没时间看，最近闲暇，又去下了最新的版本打开翻翻，真是大跌眼镜，不知道是不是我水平太次的缘故，我实在觉得QN的代码不论结构还是编程风格都难登大雅之堂，阅读时候总感觉代码晦涩到极点，比起微软开源的Enterprise Library之类的代码实在相去甚远。我刚开始读了几段就不想看了，于是到网上看看有没有人分析他的源码，找到几篇所谓的源码结构分析都是入门教程，英文的也大多是配置教程。于是又了下面这堆牢骚话。</summary><published>2009-04-20T13:39:00Z</published><updated>2009-04-20T13:39:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2009/04/20/1439949.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2009/04/20/1439949.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2009/02/17/1391902.html</id><title type="text">.NET Compact Framework通过托管Win32代码获得HtmlDocument</title><summary type="text">     有过CF的项目经验的朋友一定常常遇到与BS后台对接的问题，HTML在BS系统中有着得天独厚的条件，他能够直接被用作界面显示，并且能够C#代码和Javascript操作，因此在一些应用中BS系统可能采取在数据库中存储HTML表单的设计，例如一些表单可视化设计控件（Table Designer）生成的就是HTML，直接存储HTML的好处在于绕过了解析HTML DOM的复杂性，可是在前端与之对接的Mobile应用程序中就带来的问题，当我的.NET CF程序读取到包含HTML的字段后就显得很尴尬了，用正则表达式解析HTML生成WinFom界面显然不切实际，然而.NET CF似乎只为我们提供了这么一条路，因为如果用WebBroswer(以下简称WB)控件直接显示HTML，很有可能因为HTML的规格不适合PDA屏幕而使得用户体验非常糟糕，一个常见的问题就是HTML FORM的宽度超出了Mobile设备屏幕范围，而使得WB出现横向滚动条，这还不是问题的关键，关键在于你将HTML交给了WB控件之后你就没有任何控制权了，WebBrowser类为我们提供的唯一和HTML交互手段是一个叫Docum</summary><published>2009-02-17T04:32:00Z</published><updated>2009-02-17T04:32:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2009/02/17/1391902.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2009/02/17/1391902.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2008/12/01/1345366.html</id><title type="text">做CF开发的朋友注意这个BUG了</title><summary type="text">最近做的几个CF控件不能在工具箱显示，几天研究下来依然无果，今天才搜到这篇来自OpenNETCF的文章：A major player in our very, very late delivery of version 2.3 of the Smart Device Framework turned out to be problems with toolbox integration in Vi...</summary><published>2008-12-01T15:49:00Z</published><updated>2008-12-01T15:49:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2008/12/01/1345366.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2008/12/01/1345366.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2008/05/09/1190411.html</id><title type="text">老调新弹，也玩Linq To Sql批操作</title><summary type="text">最近搞Linq To Sql（以下简称LS）上瘾了，越玩越好玩，废话不多说。切入正题批更新和批删除早就被作为LS的软肋被广大程序员们嗤之以鼻，园子里也有人做了些扩展来满足批操作需求，我本来打算直接COPY这些代码在项目中使用的，遗憾的是我没找到批更新的，批删除的有几种，但我都觉得要么不太取巧，要又是不完善，我这里也献丑一下，做个批操作扩展，既然大家都做了批删除，我挑个冷门的，批更新吧，其实删除和更新都差不多吧。&#xD;</summary><published>2008-05-09T10:25:00Z</published><updated>2008-05-09T10:25:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2008/05/09/1190411.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2008/05/09/1190411.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2008/05/07/1186588.html</id><title type="text">Linq To Sql, 为何继承就这么费劲？</title><summary type="text">Linq To Sql（以下简称LS）从一降世似乎就是个问题宝宝。批更新问题, Like问题，RTM之前的"BUG"（select new不能显式创建实体）等等接踵而至，很多时候我们不得不回到SqlCommand去来"扩展"LS，不巧的是，LS留给程序员的灵活性很有限，我们的Extension总是有不尽完美的地方，在自我扩展的同时我更多的是期待Entity Framework正式Release时候能解决这些问题，至少是能够带给我们更多的灵活性。</summary><published>2008-05-07T04:09:00Z</published><updated>2008-05-07T04:09:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2008/05/07/1186588.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2008/05/07/1186588.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2008/02/03/1063469.html</id><title type="text">宿主工作流设计器（四）</title><summary type="text">介绍工作流活动外观定制。</summary><published>2008-02-03T05:05:00Z</published><updated>2008-02-03T05:05:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2008/02/03/1063469.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2008/02/03/1063469.html"/></entry><entry><id>http://www.cnblogs.com/Endink/archive/2008/01/24/1052256.html</id><title type="text">我眼中的Ajax</title><summary type="text">Ajax（Asynchronous JavaScript and XML）中文意思为异步JavaScript 和XML，或者基于XML的异步JavaScript.它提供了一种局部刷新Web页面的机制，比起传统的整页Load在性能上有了质的飞跃，看看GoogleMap吧，再看看Google输入框的AutoComplete功能，相信你已经对Ajax无限神往了。</summary><published>2008-01-24T15:54:00Z</published><updated>2008-01-24T15:54:00Z</updated><author><name>sharping</name><uri>http://www.cnblogs.com/Endink/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Endink/archive/2008/01/24/1052256.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Endink/archive/2008/01/24/1052256.html"/></entry></feed>
