<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_LanceZhang's Tech Blog</title><subtitle type="text">Dear Friends, welcome to my tech blog. Hope you can find helpful information here.</subtitle><id>http://feed.cnblogs.com/blog/u/28707/rss</id><updated>2011-12-06T05:26:58Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/28707/rss"/><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/12/06/2277860.html</id><title type="text">【招聘】招高级.Net研发工程师（上海-普陀）</title><summary type="text">职位工作：1、参与公司互联网平台产品的分析、设计工作；2、与产品设计团队沟通，深入了解业务需求；3、负责独立模块的设计和开发；4、解决研发过程中的关键问题和技术难题；我们希望您：1、有3年以上的.Net软件开发经验，对.Net Framework有较深入理解（技术出众者可放宽年限）；2、熟悉并擅长3种以上.Net平台大型系统所需技术，如：WCF, Web Service, JQuery, ASP.NET, WinForm, Silverlight, ADO.NET ；3、能熟练使用SQL Server或其它关系数据库，熟悉索引、事务、存储过程；4、能编写高质量代码，可完成较复杂的交互流程设计和</summary><published>2011-12-06T05:27:00Z</published><updated>2011-12-06T05:27:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/12/06/2277860.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/12/06/2277860.html"/><content type="html">&lt;div&gt;&lt;div&gt;职位工作：&lt;/div&gt;&lt;div&gt;1、参与公司互联网平台产品的分析、设计工作；&amp;nbsp;&lt;/div&gt;&lt;div&gt;2、与产品设计团队沟通，深入了解业务需求；&amp;nbsp;&lt;/div&gt;&lt;div&gt;3、负责独立模块的设计和开发；&amp;nbsp;&lt;/div&gt;&lt;div&gt;4、解决研发过程中的关键问题和技术难题；&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;我们希望您：&amp;nbsp;&lt;/div&gt;&lt;div&gt;1、有3年以上的.Net软件开发经验，对.Net Framework有较深入理解（技术出众者可放宽年限）；&amp;nbsp;&lt;/div&gt;&lt;div&gt;2、熟悉并擅长3种以上.Net平台大型系统所需技术，如：WCF, Web Service, JQuery, ASP.NET, WinForm, Silverlight, ADO.NET ；&lt;/div&gt;&lt;div&gt;3、能熟练使用SQL Server或其它关系数据库，熟悉索引、事务、存储过程；&lt;/div&gt;&lt;div&gt;4、能编写高质量代码，可完成较复杂的交互流程设计和实现；&lt;/div&gt;&lt;div&gt;5、能够带领初级工程师进行较大模块（10人天以上）的开发和管理；&lt;/div&gt;&lt;div&gt;6、较强的沟通学习能力，对技术有热情，有能力直接跟踪和学习最新的软件技术；&lt;/div&gt;&lt;div&gt;7、有大型互联网产品研发经验者优先 ；&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;您能得到：&amp;nbsp;&lt;/div&gt;&lt;div&gt;1、在开放的企业人文环境中，实现自我价值；&amp;nbsp;&lt;/div&gt;&lt;div&gt;2、在高效的团队中得到技术和管理能力实实在在的成长；&amp;nbsp;&lt;/div&gt;&lt;div&gt;3、在广阔的发展空间中获得锻炼和提升；&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;长期有效！&amp;nbsp;&lt;/p&gt;&lt;p&gt;有意的朋友可投&amp;nbsp;&amp;nbsp;&lt;a title="http://jobs.zhaopin.com/shanghai/%E8%B5%84%E6%B7%B1NET%E7%A0%94%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88_229078029250207.htm" href="http://t.cn/SbX8Rp" target="_blank" mt="url" action-type="feed_list_url" style="text-decoration: none; color: #307d74; word-wrap: break-word; font-family: Arial, Helvetica, sans-serif; line-height: 22px; background-color: rgba(255, 255, 255, 0.949219); "&gt;http://t.cn/SbX8Rp&lt;/a&gt;&amp;nbsp;或直接简历 mailto:zhangxl@kxtx.cn 来信必复&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/2277860.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/12/06/2277860.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/10/19/2217846.html</id><title type="text">测试</title><summary type="text"/><published>2011-10-19T08:58:00Z</published><updated>2011-10-19T08:58:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/10/19/2217846.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/10/19/2217846.html"/><content type="html">&lt;meta name="wumiiVerification" content="53cd13c7-036f-48ad-8ec7-7a63e9acbf71" /&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/2217846.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/10/19/2217846.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/05/30/2063387.html</id><title type="text">应对.NET Reflector过期的小技巧</title><summary type="text">下午一如既往的打开.NET Reflector，发现2011年5月30日，免费的午餐终于到头了，本文提供一个小技巧来应对过期。</summary><published>2011-05-30T08:11:00Z</published><updated>2011-05-30T08:11:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/05/30/2063387.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/05/30/2063387.html"/><content type="html">&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-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="line-height: 21px; font-family: verdana, 'courier new'; font-size: 14px" &gt; &#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;下午一如既往的打开.NET Reflector，发现2011年5月30日，免费的午餐终于到头了：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/blodfox777/2011-5-30-15-55-06.png" width="494" height="204" /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;与对付一般的定期共享软件一样，试着把系统的时间修改到2011年5月30日之前，发现.NET Reflector仍能正常使用。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;如果每次使用.NET Reflector之前还要手工去修改系统时间，用完之后还要记得去把时间改回来，如此不便，不太现实。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;解决方案：&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;下面的脚本可以通过批处理的方式实现打开.NET Reflector之前先将时间调整为过期前的某日，关闭.NET Reflector之后再将日期调回来。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;div style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; padding-bottom: 5px; overflow-x: auto; overflow-y: auto; background-color: rgb(245,245,245); padding-left: 5px; padding-right: 5px; font-family: 'Courier New'; font-size: 13px; word-break: break-all; border-top: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; padding-top: 5px" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,255)"&gt;date&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;t&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;temp&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;txt&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,255)"&gt;date&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;2004&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;1&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;1&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,255)"&gt;call&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;Reflector&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,255)"&gt;date&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;&amp;nbsp;temp&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: rgb(0,0,0)"&gt;txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;将此段脚本保存为&amp;#8220;reflector.bat&amp;#8221;，放在&amp;nbsp;.NET Reflector的根目录下，当需要使用的时候直接双击执行即可。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;此解决方案在使用.NET Reflector期间&lt;strong&gt;系统日期为2004-1-1&lt;/strong&gt;，需要特别注意。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;雕虫小技，希望能够帮上需要的朋友。&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/2063387.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/05/30/2063387.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/03/08/1977435.html</id><title type="text">不需编译让aspx页自主筛选数据绑定记录</title><summary type="text">看到园友的一篇文章，说在一些企业门户站点里，我们经常会去根据需求变更来修改数据绑定的筛选条件，深有同感。而诸如企业门户这些场景一般也不用考虑什么性能之类的非业务要求，尽快的完成业务变更和尽可能少的减少网站编译更新次数却是网站技术支持团队的核心竞争力之所在。不妨设想一下，如果用Store Procedure+DAL+BLL 写好的一个列表查询，如果要适应查询条件变更，则要动的地方恐怕很多，还需要重新编译，再把一堆dll更新上去。。。看了“活跃的毛虫”兄弟的代码，本人也有所感悟，在此也分享一种更加“动态”的绑定方法：大家知道，在.NET3.5以来，与Linq同时也提供了很多针对泛型集合的扩展方法，</summary><published>2011-03-08T09:11:00Z</published><updated>2011-03-08T09:11:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/03/08/1977435.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/03/08/1977435.html"/><content type="html">&lt;p&gt;看到园友的一篇&lt;a href="http://www.cnblogs.com/CoreCaiNiao/archive/2011/03/08/1977336.html" target="_blank"&gt;文章&lt;/a&gt;，说在一些企业门户站点里，我们经常会去根据需求变更来修改数据绑定的筛选条件，深有同感。而诸如企业门户这些场景一般也不用考虑什么性能之类的非业务要求，尽快的完成业务变更和尽可能少的减少网站编译更新次数却是网站技术支持团队的核心竞争力之所在。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;不妨设想一下，如果用Store Procedure+DAL+BLL 写好的一个列表查询，如果要适应查询条件变更，则要动的地方恐怕很多，还需要重新编译，再把一堆dll更新上去。。。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;看了&amp;#8220;&lt;span  style="font-family: verdana, arial; line-height: 19px; font-size: 13px; color: #666666; "&gt;&lt;a href="http://www.cnblogs.com/CoreCaiNiao/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; color: #666666; "&gt;活跃的毛虫&lt;/a&gt;&lt;/span&gt;&amp;#8221;兄弟的代码，本人也有所感悟，在此也分享一种更加&amp;#8220;动态&amp;#8221;的绑定方法：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;大家知道，在.NET3.5以来，与Linq同时也提供了很多针对泛型集合的扩展方法，如Where/Take/OrderBy...等等。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;在这样的场景中， 这些扩展方法也可以大有用场。比如下面的例子：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;p&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;asp:GridView&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="GridView1"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;runat&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="server"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;DataSource&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;='&amp;lt;%#GetNewsData().Where(r=&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;r.Subject.StartsWith("aaa"))%&amp;gt;'&amp;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;asp:GridView&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;p&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&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;partial&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;About&amp;nbsp;:&amp;nbsp;System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;protected&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;Page_Load(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&lt;br /&gt;&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;DataBind();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;NewsData&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetNewsData()&lt;br /&gt;&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;List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;NewsData&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;result&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;List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;NewsData&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result.Add(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NewsData()&amp;nbsp;{&amp;nbsp;Subject&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;aaaa&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&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;result.Add(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NewsData()&amp;nbsp;{&amp;nbsp;Subject&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;bbb&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&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;result.Add(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NewsData()&amp;nbsp;{&amp;nbsp;Subject&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;aa22&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&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;result.Add(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NewsData()&amp;nbsp;{&amp;nbsp;Subject&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;aa1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&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;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NewsData&lt;br /&gt;&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;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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;subject;&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;public&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;Subject&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;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;subject;&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;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&amp;nbsp;subject&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;value;&amp;nbsp;}&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;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; font-size: 13px; "&gt;}&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;更加动态的实现了查询条件在aspx页内定义。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;需要注意的是：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;这种写法不适用于大型应用，每个页面实例的CPU和内存开销都不小。 而且对原始数据集合（未经筛选的数据集），最好能够做到一定的缓存，从减少不必要的IO开销。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1977435.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/03/08/1977435.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/03/07/1974472.html</id><title type="text">也谈谈“加班”问题</title><summary type="text">今天园子里关于加班的帖子很多，惹起众多争议：http://www.cnblogs.com/realdigit/archive/2011/03/06/1972242.htmlhttp://www.cnblogs.com/jyk/archive/2011/03/07/1973214.html窃以为：首先，在公司自己学习和娱乐不属于加班。除了这种情况，加班分为“主动加班”和“被动加班”：主动加班：对于工作上已经完成的任务，要将其超额完成，精益求精。此种加班纯属个人工作热情，非常好，常见于公司管理层人员和部分老板，及工作积极优秀的员工；员工积极加班被喜欢员工主动加班的老板（如唐骏）看到了，自然会获得一</summary><published>2011-03-07T07:06:00Z</published><updated>2011-03-07T07:06:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/1974472.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/1974472.html"/><content type="html">&lt;p&gt;今天园子里关于加班的帖子很多，惹起众多争议：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/realdigit/archive/2011/03/06/1972242.html"&gt;http://www.cnblogs.com/realdigit/archive/2011/03/06/1972242.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jyk/archive/2011/03/07/1973214.html"&gt;http://www.cnblogs.com/jyk/archive/2011/03/07/1973214.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;窃以为：&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;首先，在公司自己学习和娱乐不属于加班。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;除了这种情况，加班分为&amp;#8220;主动加班&amp;#8221;和&amp;#8220;被动加班&amp;#8221;：&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;主动加班：对于工作上已经完成的任务，要将其超额完成，精益求精。此种加班纯属个人工作热情，非常好，常见于公司管理层人员和部分老板，及工作积极优秀的员工；员工积极加班被喜欢员工主动加班的老板（如唐骏）看到了，自然会获得一定的工作任何。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;被动加班：赶项目、赶上线之类的加班，这种加班代表着一种&amp;#8220;无能和错误&amp;#8221;（不含贬义），但这种无能或错误大多是由技术人员来买单，具体可分为：&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;1.项目经理无能或错误（安排不周，导致需要被迫加班）&lt;/div&gt;&lt;div&gt;2.销售/策划人员的无能或错误（承诺客户的时间跟开发团队不能协同）&lt;/div&gt;&lt;div&gt;3.管理人员的无能或错误（老板不合实际的要求员工加班赶进度）&lt;/div&gt;&lt;div&gt;4.技术人员自身的无能或错误（玩不成已分配的任务，当然要加班了）&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;按道理说，公司是应该为前三种被动加班支付加班工资的；而第4种被动加班，则是技术人员自身的问题，公司不应支付加班工资，且某些情况下还可能需要对技术人员的能力作出质疑。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;所以说，加班是&amp;#8220;光荣的&amp;#8221;这种看法太片面，大家都是成年人了，看问题也要以辩证的方式具体问题具体分析才能论断。&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1974472.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/1974472.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/03/07/silverlight-webpart-Wrapper.html</id><title type="text">共享一个封装Silverlight的WebPart</title><summary type="text">不管是报表图表还是电子地图，将Silverlight应用程序嵌入到MOSS中，可以大大提高MOSS站点的用户体验。而合理的应用WebPart对嵌入的Silverlight进行封装则能够减少开发复杂程度。最近参与的项目中有不少这样的案例，于是便写了一个简单的Silverlight封装WebPart，分享与此，希望能够帮助又需要的朋友。（第一次写WebPart，请多指教）考虑到的问题有：xap文件缓存期限承载容器的样式xap文件路径配置xap文件接收的参数没有考虑到的问题有：安全性（绝大多数MOSS应用都是intranet的，相对安全）代码如下：/*************************</summary><published>2011-03-07T04:54:00Z</published><updated>2011-03-07T04:54:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/silverlight-webpart-Wrapper.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/silverlight-webpart-Wrapper.html"/><content type="html">&lt;p&gt;不管是报表图表还是电子地图，将Silverlight应用程序嵌入到MOSS中，可以大大提高MOSS站点的用户体验。而合理的应用WebPart对嵌入的Silverlight进行封装则能够减少开发复杂程度。&lt;/p&gt;&lt;p&gt;最近参与的项目中有不少这样的案例，于是便写了一个简单的Silverlight封装WebPart，分享与此，希望能够帮助又需要的朋友。&lt;/p&gt;&lt;p&gt;（第一次写WebPart，请多指教）&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;考虑到的问题有：&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;xap文件缓存期限&lt;/li&gt;&lt;li&gt;承载容器的样式&lt;/li&gt;&lt;li&gt;xap文件路径配置&lt;/li&gt;&lt;li&gt;xap文件接收的参数&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;没有考虑到的问题有：&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;安全性（绝大多数MOSS应用都是intranet的，相对安全）&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;代码如下：&lt;/p&gt;&lt;p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*****************************&amp;nbsp;Module&amp;nbsp;Header&amp;nbsp;******************************\&lt;br /&gt;*&amp;nbsp;Module&amp;nbsp;Name:&amp;nbsp;&amp;nbsp;SilverLightWrapper.cs&lt;br /&gt;*&amp;nbsp;Project:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CarolLib.MOSS.WebParts&lt;br /&gt;*&amp;nbsp;Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Lance&amp;nbsp;Zhang&lt;br /&gt;*&amp;nbsp;Copyright&amp;nbsp;(c)&amp;nbsp;CarolLib&amp;nbsp;Co.,&amp;nbsp;Ltd.&lt;br /&gt;*&lt;br /&gt;*&amp;nbsp;Provide&amp;nbsp;a&amp;nbsp;way&amp;nbsp;to&amp;nbsp;wrap&amp;nbsp;Silverlight&amp;nbsp;xap&amp;nbsp;with&amp;nbsp;webpart,&lt;br /&gt;*&amp;nbsp;and&amp;nbsp;output&amp;nbsp;the&amp;nbsp;rendered&amp;nbsp;div&amp;nbsp;to&amp;nbsp;web&amp;nbsp;page.&lt;br /&gt;*&amp;nbsp;&lt;br /&gt;*&amp;nbsp;Key&amp;nbsp;Features:&lt;br /&gt;*&amp;nbsp;==============================================================&lt;br /&gt;*&amp;nbsp;&lt;br /&gt;*&amp;nbsp;@&amp;nbsp;-&amp;nbsp;Private&amp;nbsp;different&amp;nbsp;timespan&amp;nbsp;unit&amp;nbsp;to&amp;nbsp;control&amp;nbsp;the&amp;nbsp;browser&amp;nbsp;cache.&lt;br /&gt;*&amp;nbsp;@&amp;nbsp;-&amp;nbsp;Can&amp;nbsp;pass&amp;nbsp;custom&amp;nbsp;parameter(s,&amp;nbsp;by&amp;nbsp;split)&amp;nbsp;to&amp;nbsp;silverlight&amp;nbsp;application.&lt;br /&gt;*&amp;nbsp;@&amp;nbsp;-&amp;nbsp;Customize&amp;nbsp;containner&amp;nbsp;div's&amp;nbsp;style.&lt;br /&gt;*&amp;nbsp;&lt;br /&gt;*&amp;nbsp;==============================================================&lt;br /&gt;*&amp;nbsp;&lt;br /&gt;*&amp;nbsp;History:&lt;br /&gt;*&amp;nbsp;*&amp;nbsp;8/19/2009&amp;nbsp;13:53&amp;nbsp;PM&amp;nbsp;Lance&amp;nbsp;Zhang&amp;nbsp;Created&lt;br /&gt;*&amp;nbsp;*&amp;nbsp;8/24/2009&amp;nbsp;21:29&amp;nbsp;PM&amp;nbsp;Lance&amp;nbsp;Zhang&amp;nbsp;Add&amp;nbsp;ContainerStyle&lt;br /&gt;*&amp;nbsp;*&amp;nbsp;9/09/2009&amp;nbsp;21:29&amp;nbsp;PM&amp;nbsp;Lance&amp;nbsp;Zhang&amp;nbsp;Add&amp;nbsp;CustomParams&lt;br /&gt;\**************************************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Runtime.InteropServices;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Text;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Web.UI;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Microsoft.SharePoint.WebPartPages;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Web.UI.WebControls.WebParts;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.ComponentModel;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;CEAir.InfoPortal.WebParts&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Guid(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;803617a2-9dc9-4eb8-b05c-3e064bc12123&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;&lt;/span&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;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;SilverLightWrapper&amp;nbsp;:&amp;nbsp;System.Web.UI.WebControls.WebParts.WebPart&lt;br /&gt;&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;span style="color: #0000FF;"&gt;#region&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;ctor.&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;SilverLightWrapper()&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;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;#endregion&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;#region&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Properties&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;containerStyle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;PADDING-BOTTOM:&amp;nbsp;10px;&amp;nbsp;PADDING-LEFT:&amp;nbsp;10px;&amp;nbsp;WIDTH:&amp;nbsp;730px;&amp;nbsp;PADDING-RIGHT:&amp;nbsp;20px;&amp;nbsp;BACKGROUND:&amp;nbsp;url(/_LAYOUTS/SL3/img/it_task_bg.jpg)&amp;nbsp;#fff&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;top;&amp;nbsp;FLOAT:&amp;nbsp;left;&amp;nbsp;HEIGHT:&amp;nbsp;600px;&amp;nbsp;PADDING-TOP:&amp;nbsp;10px&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;[Personalizable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebBrowsable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebDisplayName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;容器div样式&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;[Category(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;个性设置&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;&lt;/span&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;ContainerStyle&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;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;containerStyle;&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;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&amp;nbsp;containerStyle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;value;&amp;nbsp;}&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;&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;customParams&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Personalizable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebBrowsable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebDisplayName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;CustomParams&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;[Category(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;自定义参数&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;&lt;/span&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;CustomParams&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;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;customParams;&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;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&amp;nbsp;customParams&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;value;&amp;nbsp;}&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;&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;path&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;/_LAYOUTS/SL3/StatusReport.xap&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;[Personalizable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebBrowsable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebDisplayName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xap文件路径&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;[WebDescription(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;例如:/_LAYOUTS/SL3/StatusReport.xap&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;[Category(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;个性设置&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;&lt;/span&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Path&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;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;path;&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;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&amp;nbsp;path&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;value;&amp;nbsp;}&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;&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;public&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;CurrentUser&amp;nbsp;&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;get&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;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;.Context.User.Identity.Name;&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;br /&gt;&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cacheUnit&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;天&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;[Personalizable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebBrowsable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[WebDisplayName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;缓存时间单位&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;[WebDescription(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;例如:分、时、天、月、年&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;[Category(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;缓存设置&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;&lt;/span&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;CacheUnit&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;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;cacheUnit;&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;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&amp;nbsp;cacheUnit&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;value;&amp;nbsp;}&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;#endregion&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;#region&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Override&amp;nbsp;Members&lt;/span&gt;&lt;span style="color: #000000;"&gt;&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;protected&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;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;CreateChildControls()&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetCacheKey();&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;StringBuilder&amp;nbsp;sl&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;StringBuilder();&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Format(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;div&amp;nbsp;id=\"silverlightControlHost\"&amp;nbsp;style=\"{0}\"&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;ContainerStyle));&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;object&amp;nbsp;data=\"data:application/x-silverlight-2,\"&amp;nbsp;type=\"application/x-silverlight-2\"&amp;nbsp;width=\"100%\"&amp;nbsp;height=\"100%\"&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Format(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"source\"&amp;nbsp;value=\"&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: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Path&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;?version={0}\"/&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;cacheKey));&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"onError\"&amp;nbsp;value=\"onSilverlightError\"&amp;nbsp;/&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"background\"&amp;nbsp;value=\"white\"&amp;nbsp;/&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"minRuntimeVersion\"&amp;nbsp;value=\"3.0.40818.0\"&amp;nbsp;/&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"autoUpgrade\"&amp;nbsp;value=\"true\"&amp;nbsp;/&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Format(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;param&amp;nbsp;name=\"initParams\"&amp;nbsp;value=\"user={0},{1}\"&amp;nbsp;/&amp;gt;&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: #0000FF;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.CurrentUser,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.CustomParams));&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;a&amp;nbsp;href=\"http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=3.0.40818.0\"&amp;nbsp;style=\"text-decoration:none\"&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;img&amp;nbsp;src=\"http://go.microsoft.com/fwlink/?LinkId=161376\"&amp;nbsp;alt=\"获取&amp;nbsp;Microsoft&amp;nbsp;Silverlight\"&amp;nbsp;style=\"border-style:none\"/&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/a&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/object&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;iframe&amp;nbsp;id=\"_sl_historyFrame\"&amp;nbsp;style=\"visibility:hidden;height:0px;width:0px;border:0px\"&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/iframe&amp;gt;&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;sl.AppendLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&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;LiteralControl&amp;nbsp;silverlightHost&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;LiteralControl(sl.ToString());&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;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Controls.Add(silverlightHost);&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetCacheKey()&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cacheKey&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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(CacheUnit)&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;case&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;分&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;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyyMMddhhmm&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&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;case&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;时&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;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyyMMddhh&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&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;case&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;天&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;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyyMMdd&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&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;case&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;月&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;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyyMM&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&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;default&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;cacheKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&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;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cacheKey;&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;#endregion&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1973822.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/03/07/silverlight-webpart-Wrapper.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2011/01/25/qiangpiaokuaishou.html</id><title type="text">【开源】二手火车票监控程序 抢票快手 V1.0发布</title><summary type="text">背景呃，春运，不用多说了。。上海局的电话订票只支持8000个并发，基本上都抢不到。我等广大P民只能将眼光投放到赶集网、58同城等门户，关注里面的车票转让信息，尽管不少是票贩子，但也没办法。前几天自己转让了一张火车票，结果信息发上去之后10分钟内收到了11个电话，自然后来的10个朋友都失望而归。无疑，这里也成了抢票的战场。。园子里也有不少朋友都写了信息监控程序，如这个，本人加以借鉴，做了这个WinF...</summary><published>2011-01-25T03:36:00Z</published><updated>2011-01-25T03:36:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2011/01/25/qiangpiaokuaishou.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2011/01/25/qiangpiaokuaishou.html"/><content type="html">&lt;div&gt;&lt;span style="color: #333333; font-family: 微软雅黑, Georgia, 'Times New Roman', Times, san-serif; line-height: 25px; "&gt;&lt;p&gt;&lt;strong&gt;背景&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;呃，春运，不用多说了。。上海局的电话订票只支持8000个并发，基本上都抢不到。我等广大P民只能将眼光投放到赶集网、58同城等门户，关注里面的车票转让信息，尽管不少是票贩子，但也没办法。前几天自己转让了一张火车票，结果信息发上去之后10分钟内收到了11个电话，自然后来的10个朋友都失望而归。无疑，这里也成了抢票的战场。。园子里也有不少朋友都写了信息监控程序，如&lt;a href="http://www.cnblogs.com/guozili/archive/2011/01/19/1939157.html" target="_blank"&gt;这个&lt;/a&gt;，本人加以借鉴，做了这个WinForm的程序。&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;简介&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;抢票快手是一个由纯.NET编写的WinForm控件，使用WebClient下载并解析赶集网、58同城、酷讯三家的火车票转让信息（这三家的信息基本上能涵盖所有的车票转让）。源代码完全开放，可随意修改，在CodePlex上开源，地址为：&lt;a href="http://qiangpiaokuaishou.codeplex.com/" title="http://qiangpiaokuaishou.codeplex.com/" target="_blank"&gt;http://qiangpiaokuaishou.codeplex.com/&lt;/a&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/blodfox777/%E6%8A%A2%E7%A5%A8%E5%BF%AB%E6%89%8B.PNG" border="0" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/blodfox777/%E6%8A%A2%E7%A5%A8%E5%BF%AB%E6%89%8B2.PNG" border="0" alt="" width="800" height="563" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;功能特点&lt;/strong&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;0. 3家网站的基本能覆盖所有转让信息（酷讯本来就聚合了一些小网站的票源）&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;1. 信息已列表形式展示，提取出车次和张数，可随意排序&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;2. 双击列表中的信息可在右边Tab中打开该信息的网页&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;3. 勾选监控选项可监控票源，默认1分钟间隔，可在源码中改&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;4. 监控到票源后会在右下角托盘处弹出新票源信息&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;源码下载地址：&lt;a href="http://qiangpiaokuaishou.codeplex.com/" target="_blank"&gt;http://qiangpiaokuaishou.codeplex.com/&lt;/a&gt;&amp;nbsp;（包括Demo程序）&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="line-height: 25px; margin-top: 12px; margin-right: auto; margin-bottom: 12px; margin-left: auto; text-indent: 0px; "&gt;由于本人不是专业的WinForm开发经验浅薄，且开发比较仓促（2小时）如发现bug和功能缺陷，还望大家不吝赐教！&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1944420.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2011/01/25/qiangpiaokuaishou.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2010/12/21/ganttplanner.html</id><title type="text">【开源】Winform甘特日程控件GanttPlanner V1.0发布</title><summary type="text">背景做过WinForm和Web的朋友们可能都有这个感觉：做用户体验良好的WinForm应用程序要远比Web应用程序困难的多。这是因为Web应用程序毕竟只靠HTML+CSS+JS就能做出各种强大的功能和绚丽的效果，而WinForm应用程序则是一步步在屏幕上“绘制”图形图像，还要考虑各种重绘情况。一般开发中为了降低开发成本，我们往往选用第三方WinForm控件，而像NetAdvantage, ComponentOne等第三方控件是商业收费的，而且架构中重用的组件很多，使得各控件之间相当耦合，即使我们只需要使用其中一个控件，也得引用一大堆dll，有些时候着实不便，跟别提自己定制了。简介GanttPl</summary><published>2010-12-21T02:57:00Z</published><updated>2010-12-21T02:57:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2010/12/21/ganttplanner.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2010/12/21/ganttplanner.html"/><content type="html">&lt;p&gt;&lt;strong&gt;背景&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;做过WinForm和Web的朋友们可能都有这个感觉：做用户体验良好的WinForm应用程序要远比Web应用程序困难的多。这是因为Web应用程序毕竟只靠HTML+CSS+JS就能做出各种强大的功能和绚丽的效果，而WinForm应用程序则是一步步在屏幕上&amp;#8220;绘制&amp;#8221;图形图像，还要考虑各种重绘情况。&lt;/p&gt;&lt;p&gt;一般开发中为了降低开发成本，我们往往选用第三方WinForm控件，而像NetAdvantage, ComponentOne等第三方控件是商业收费的，而且架构中重用的组件很多，使得各控件之间相当耦合，即使我们只需要使用其中一个控件，也得引用一大堆dll，有些时候着实不便，跟别提自己定制了。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;简介&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;GanttPlanner控件是一个由纯.NET编写的WinForm控件，以干特图+日程表的形式展示数据，提供较为丰富的API和功能支持。其架构最初源自codeproject上一个仿outlook日程表的DayView控件，现修改成适合时间进度展示的GanttPlanner控件，并做了功能上的扩充，在CodePlex上开源，地址为：&lt;a href="http://ganttplanner.codeplex.com/" target="_blank"&gt;http://ganttplanner.codeplex.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=GanttPlanner&amp;amp;DownloadId=189043" border="0" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;功能特点&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;0. 纯.NET代码编写，不含Win32API引用&lt;/p&gt;&lt;p&gt;1. 节点支持各种拖拽模式&lt;/p&gt;&lt;p&gt;2. 可以通过拖拽来缩放节点&lt;/p&gt;&lt;p&gt;3. 可以直接在线编辑（数据源同步更新）&lt;/p&gt;&lt;p&gt;4. 支持百分比指标的显示/隐藏&lt;/p&gt;&lt;p&gt;5. 根据一行中的节点数自动调整节点高度&lt;/p&gt;&lt;p&gt;6. 可高亮显示指定的时间段（如工作日）&lt;/p&gt;&lt;p&gt;7. 支持行、列定位&lt;/p&gt;&lt;p&gt;8. 支持Tootip的显示及自定义Tooltip内容&lt;/p&gt;&lt;p&gt;9. 时间刻度可缩放&lt;/p&gt;&lt;p&gt;10. 支持各节点不同背景、边框颜色，支持自定义主题&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;源码下载地址：&lt;a href="http://ganttplanner.codeplex.com/"&gt;http://ganttplanner.codeplex.com/&lt;/a&gt;&amp;nbsp;（包括Demo程序）&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;由于本人不是专业的WinForm开发经验浅薄，如发现bug和功能缺陷，还望大家不吝赐教！&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1912385.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2010/12/21/ganttplanner.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2010/12/06/1897697.html</id><title type="text">移除txt文本中不必要的换行符</title><summary type="text">前一阵子看到刘慈欣老师的《三体3》出版了，很是兴奋，就从网上找到了《三体2》的txt，准备重温一下（不买纸质书，为了环保，家里书太多太重，表鄙视偶）。打开一看，发现都出版了几年了，怎么网上连个像样的盗版都没有，明显是从扫描版pdf上使用文字识别ocr工具抓下来的文字，正确率倒还挺好，但有很多不必要的换行符，让人看起来非常吃力（如图）于是，就花时间自己写了个小工具，来实现不必要换行符的剔除。试了试，效果很不错源码下载：/Files/blodfox777/LineBreak.rar程序下载：/Files/blodfox777/换行移除.rar</summary><published>2010-12-06T06:02:00Z</published><updated>2010-12-06T06:02:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2010/12/06/1897697.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2010/12/06/1897697.html"/><content type="html">&lt;p&gt;前一阵子看到刘慈欣老师的《三体3》出版了，很是兴奋，就从网上找到了《三体2》的txt，准备重温一下（不买纸质书，为了环保，家里书太多太重，表鄙视偶）。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;打开一看，发现都出版了几年了，怎么网上连个像样的盗版都没有，明显是从扫描版pdf上使用文字识别ocr工具抓下来的文字，正确率倒还挺好，但有很多不必要的换行符，让人看起来非常吃力（如图）&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/blodfox777/2010%E5%B9%B412%E6%9C%886%E6%97%A511.PNG" border="0" alt="" width="724" height="294" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;于是，就花时间自己写了个小工具，来实现不必要换行符的剔除。&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/blodfox777/2010%E5%B9%B412%E6%9C%886%E6%97%A522.PNG" border="0" alt="" width="650" height="416" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;试了试，效果很不错&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;源码下载：&lt;a target="_blank" href="http://files.cnblogs.com/blodfox777/LineBreak.rar"&gt;/Files/blodfox777/LineBreak.rar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;程序下载：&lt;/strong&gt;&amp;nbsp;&lt;a href="http://files.cnblogs.com/blodfox777/%E6%8D%A2%E8%A1%8C%E7%A7%BB%E9%99%A4.rar"&gt;&lt;strong&gt;/Files/blodfox777/换行移除.rar&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1897697.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2010/12/06/1897697.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blodfox777/archive/2010/11/26/sharepoint-moss-2007-custom-webservice.html</id><title type="text">在MOSS2007中开发并部署自定义WebService</title><summary type="text">园子里几位前辈在若干年前已经写过一些在MOSS中部署自定义WebService的方法（如：文章一，文章二），但可能是MOSS版本不同的缘故，我试过数次都未能成功，最终摸索出了worked solution（与前面两位前辈文章中描述的solutions不同点很多），特总结于此，希望能够帮助需要的朋友们。</summary><published>2010-11-26T07:18:00Z</published><updated>2010-11-26T07:18:00Z</updated><author><name>LanceZhang</name><uri>http://www.cnblogs.com/blodfox777/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blodfox777/archive/2010/11/26/sharepoint-moss-2007-custom-webservice.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blodfox777/archive/2010/11/26/sharepoint-moss-2007-custom-webservice.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 14pt; "&gt;前言&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;最近的一个项目需要在MOSS 2007中嵌入Silverlight报表，而Silverlight报表则需要开发相应的WebService作为数据源，而这个从MOSS列表中获取数据的Web Service则要以自定义WebService的方法部署在MOSS站点中。园子里几位前辈在若干年前已经写过一些在MOSS中部署自定义WebService的方法（如：&lt;a href="http://www.cnblogs.com/carysun/archive/2008/05/13/webservice.html" target="_blank"&gt;文章一&lt;/a&gt;，&lt;a href="http://www.cnblogs.com/jinho/archive/2010/05/12/1733868.html" target="_blank"&gt;文章二&lt;/a&gt;），但可能是MOSS版本不同的缘故，我试过数次都未能成功，最终摸索出了worked solution（与前面两位前辈文章中描述的solutions不同点很多），特总结于此，希望能够帮助需要的朋友们。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 14pt; "&gt;开发WebService&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;开发WebService的过程与平时相仿，新建WebService项目并直接在code-behind中完成相关代码即可，编译后生成&lt;em&gt;Ceair.Union.Web.dll&lt;/em&gt;，如下例：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span  style="border-right-color: #808080; border-right-width: 1px; border-right-style: solid; border-top-color: #808080; border-top-width: 1px; border-top-style: solid; border-left-color: #808080; border-left-width: 1px; border-left-style: solid; border-bottom-color: #808080; border-bottom-width: 1px; border-bottom-style: solid; background-color: #ffffff; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; font-family: 'Courier New'; "&gt;代码&lt;/span&gt;&lt;div id="cnblogs_code_open_271f797a-0c19-4749-9f91-cee5bc807bf0"&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;?&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff00ff; background-color: yellow; "&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;?&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;discovery&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;xmlns:xsi&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:xsd&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/disco/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;contractRef&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;ref&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;http://localhost:6949/B2EWidgetService.asmx?wsdl"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;docRef&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;http://localhost:6949/B2EWidgetService.asmx"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/disco/scl/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;soap&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;address&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;http://localhost:6949/B2EWidgetService.asmx"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:q1&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="q1:&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&lt;em&gt;B2EWidgetServiceSoap&lt;/em&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/disco/soap/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; background-color: yellow; "&gt;soap&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;address&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="http://localhost:6949/B2EWidgetService.asmx"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;&amp;nbsp;xmlns:q2&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="q2:B2EWidgetServiceSoap12"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;&amp;nbsp;xmlns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="http://schemas.xmlsoap.org/disco/soap/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;discovery&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;修改为如下所示：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;div id="cnblogs_code_open_cff99b40-46af-48d3-aae6-a4c6bf38d5ba"&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Page&amp;nbsp;Language&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;C#&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;Inherits&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;System.Web.UI.Page&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Assembly&amp;nbsp;Name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint,&amp;nbsp;Version=11.0.0.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Import&amp;nbsp;Namespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint.Utilities&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Import&amp;nbsp;Namespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;Response.ContentType&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;text/xml&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;discovery&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;xmlns:xsi&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:xsd&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/disco/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;contractRef&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;ref&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;=&amp;lt;%&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;SPEncode.WriteHtmlEncodeWithQuote(Response,&amp;nbsp;SPWeb.OriginalBaseUrl(Request)&amp;nbsp;+&amp;nbsp;"?wsdl",&amp;nbsp;'"');&amp;nbsp;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;docRef=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;SPEncode.WriteHtmlEncodeWithQuote(Response,&amp;nbsp;SPWeb.OriginalBaseUrl(Request),&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;'&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;"');&amp;nbsp;%&amp;gt;&amp;nbsp;&amp;nbsp;xmlns="http://schemas.xmlsoap.org/disco/scl/"&amp;nbsp;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;soap&amp;nbsp;address&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;%&amp;nbsp;SPEncode.WriteHtmlEncodeWithQuote(Response,&amp;nbsp;SPWeb.OriginalBaseUrl(Request),&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;'&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;"');&amp;nbsp;%&amp;gt;&amp;nbsp;xmlns:q1="http://tempuri.org/"&amp;nbsp;binding="q1:B2EWidgetServiceSoap"&amp;nbsp;xmlns="http://schemas.xmlsoap.org/disco/soap/"&amp;nbsp;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;discovery&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span  style="font-weight: bold; "&gt;步骤三&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;打开&lt;span  style="font-family: 'Courier New'; font-size: 13px; color: #0000ff; "&gt;B2EWidgetServicewsdl.aspx&lt;/span&gt;，将里面的代码（注意高亮部分的代码是下面需要改动的，斜体部分为此例子中特定的）：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;span  style="border-right-color: #808080; border-right-width: 1px; border-right-style: solid; border-top-color: #808080; border-top-width: 1px; border-top-style: solid; border-left-color: #808080; border-left-width: 1px; border-left-style: solid; border-bottom-color: #808080; border-bottom-width: 1px; border-bottom-style: solid; background-color: #ffffff; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; font-family: 'Courier New'; "&gt;代码&lt;/span&gt;&lt;div id="cnblogs_code_open_a7aa02c9-3111-44ac-8ac5-1f7c3f84b810"&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;?&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff00ff; background-color: yellow; "&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;?&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:definitions&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;xmlns:soap&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/soap/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:tm&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://microsoft.com/wsdl/mime/textMatching/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:soapenc&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/soap/encoding/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:mime&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/mime/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:tns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:s&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:soap12&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/soap12/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:http&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/http/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetnamespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:wsdl&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:types&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:schema&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;elementformdefault&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="qualified"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;targetnamespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:element&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="HelloWorld"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:complextype&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;。。。。。。。&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:service&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;em&gt;B2EWidgetService&lt;/em&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:port&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;em&gt;B2EWidgetServiceSoap&lt;/em&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;em&gt;tns:B2EWidgetServiceSoap&lt;/em&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;soap:address&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;location&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: #ffff00; "&gt;http://localhost:6949/B2EWidgetService.asmx"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:port&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; background-color: yellow; "&gt;wsdl:port&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="B2EWidgetServiceSoap12"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="tns:B2EWidgetServiceSoap12"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; background-color: yellow; "&gt;soap12:address&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; background-color: yellow; "&gt;location&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;="http://localhost:6949/B2EWidgetService.asmx"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; background-color: yellow; "&gt;wsdl:port&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; background-color: yellow; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:service&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:definitions&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;修改为：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;span  style="border-right-color: #808080; border-right-width: 1px; border-right-style: solid; border-top-color: #808080; border-top-width: 1px; border-top-style: solid; border-left-color: #808080; border-left-width: 1px; border-left-style: solid; border-bottom-color: #808080; border-bottom-width: 1px; border-bottom-style: solid; background-color: #ffffff; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; font-family: 'Courier New'; "&gt;代码&lt;/span&gt;&lt;div id="cnblogs_code_open_4d201540-ef7e-4c5a-8092-3d3af768787f"&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Page&amp;nbsp;Language&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;C#&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;Inherits&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;System.Web.UI.Page&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Assembly&amp;nbsp;Name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint,&amp;nbsp;Version=11.0.0.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Import&amp;nbsp;Namespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint.Utilities&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;@&amp;nbsp;Import&amp;nbsp;Namespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;Microsoft.SharePoint&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;Response.ContentType&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;text/xml&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #f5f5f5; color: #000000; "&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background-color: #ffff00; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:definitions&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;xmlns:s&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:soap12&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/soap12/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:mime&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/mime/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:tns&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:soap&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/soap/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:tm&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://microsoft.com/wsdl/mime/textMatching/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:http&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/http/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:soapenc&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/soap/encoding/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;targetNamespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;xmlns:wsdl&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://schemas.xmlsoap.org/wsdl/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:types&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:schema&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;elementFormDefault&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="qualified"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;targetNamespace&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="http://sharepoint.microsoft.com/samples/"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:element&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="HelloWorld"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; 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="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;s:complexType&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;。。&lt;/span&gt;&lt;font  color="#0000FF"&gt;。。。。。。。&lt;/font&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:service&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="B2EWidgetService"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:port&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="B2EWidgetServiceSoap"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;&amp;nbsp;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;="tns:B2EWidgetServiceSoap"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;soap:address&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;location&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;=&amp;lt;%&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;SPEncode.WriteHtmlEncodeWithQuote(Response,SPWeb.OriginalBaseUrl(Request),&amp;nbsp;'"');&amp;nbsp;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:port&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:service&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;wsdl:definitions&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;步骤四&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;打开&amp;#8220;&lt;strong&gt;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI&lt;/strong&gt;&amp;#8221;下的"&lt;strong&gt;spdisco.aspx&lt;/strong&gt;"文件，可以看到MOSS自带的WebService都注册于此，我们也需要把自己的自定义WebService加进来（在该文件下面直接附加以下两行）：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;span  style="border-right-color: #808080; border-right-width: 1px; border-right-style: solid; border-top-color: #808080; border-top-width: 1px; border-top-style: solid; border-left-color: #808080; border-left-width: 1px; border-left-style: solid; border-bottom-color: #808080; border-bottom-width: 1px; border-bottom-style: solid; background-color: #ffffff; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; font-family: 'Courier New'; "&gt;代码&lt;/span&gt;&lt;div id="cnblogs_code_open_9e73baf4-6019-43db-9918-1b944ec5c2e4"&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;contractRef&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;ref&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;=&amp;lt;%&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(spWeb.Url&amp;nbsp;+&amp;nbsp;"/_vti_bin/&lt;em&gt;B2EWidgetService&lt;/em&gt;.asmx?wsdl"),Response.Output);&amp;nbsp;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;docRef=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;%&amp;nbsp;SPHttpUtility.AddQuote&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;(SPHttpUtility.HtmlEncode(spWeb.Url&amp;nbsp;+&amp;nbsp;"/_vti_bin/&lt;em&gt;B2EWidgetService&lt;/em&gt;.asmx"),Response.Output);&amp;nbsp;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;xmlns="http://schemas.xmlsoap.org/disco/scl/"&amp;nbsp;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;discoveryRef&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;ref&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;=&amp;lt;%&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #ff0000; "&gt;SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(spWeb.Url&amp;nbsp;+&amp;nbsp;"/_vti_bin/&lt;em&gt;B2EWidgetService&lt;/em&gt;.asmx?disco"),Response.Output);&amp;nbsp;%&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;xmlns="http://schemas.xmlsoap.org/disco/"&amp;nbsp;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span  style="font-size: 16px; font-weight: bold; "&gt;部署WebService&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;完成上述步骤后将&lt;span  style="font-family: 'Courier New'; font-size: 13px; color: #0000ff; "&gt;B2EWidgetService.asmx&lt;/span&gt;以及&lt;span  style="font-family: 'Courier New'; font-size: 13px; color: #0000ff; "&gt;B2EWidgetServicewsdl.aspx&lt;/span&gt;和&lt;span  style="font-family: 'Courier New'; font-size: 13px; color: #0000ff; "&gt;B2EWidgetServicedisco.aspx&lt;/span&gt;拷贝到&amp;#8220;&lt;strong&gt;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI&lt;/strong&gt;&amp;#8221;下，并将WebService编译后的&lt;strong&gt;&lt;em&gt;Ceair.Union.Web.dll&lt;/em&gt;&lt;/strong&gt;拷贝到MOSS站点的Bin目录下即可完成部署。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;查看结果&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;完成部署后，即可在MOSS站点的&amp;#8220;_vti_bin/&amp;#8221;路径下看到刚刚部署的WebService。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/blodfox777/201011264.PNG" border="0" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;注意事项&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;如果WebService代码中访问到的列表数据需要权限，则可使用&amp;#8220;SPSecurity.RunWithElevatedPrivileges&amp;#8221;进行权限提升，否则只有网站集管理员才能够访问此Service，其他人访问则弹出登录对话框。&lt;/li&gt;&lt;li&gt;本文中的解决方案不需将dll注册到GAC，只需放入要使用此Service的MOSS站点的Bin目录下。&lt;/li&gt;&lt;li&gt;WebService的测试可使用HttpWatch、Firebug等工具&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/blodfox777/aggbug/1888808.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blodfox777/archive/2010/11/26/sharepoint-moss-2007-custom-webservice.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
