<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_架构人生</title><subtitle type="text">——智软件，悦生活</subtitle><id>http://feed.cnblogs.com/blog/u/53510/rss</id><updated>2012-05-17T02:34:34Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/53510/rss"/><entry><id>http://www.cnblogs.com/architect/archive/2012/05/16/2504319.html</id><title type="text">我的Wp7开发之路——3个月后感受</title><summary type="text">先感谢张磊——我在交大研究生时的同学，是他告诉诺基亚和微软举办春Phone计划这个活动的消息，没有这个消息，我也就没有参加这次活动，同时还要感谢他在云计算Azure方面对我提供的帮助；再感谢我的夫人，感谢她对我玩Wp7开发的支持，我的第一部Lumia 800红色版就是在她的支持下买的，虽然Lumia 800在我的使用过的手机中是最贵的，但她还是支持我买一个，当时诺基亚的Lumia还没到中国大陆来，而她自己还在用1000元不到的Android小屏手机。最后不得不感谢Nokia和Microsoft的这次春Phone活动，没有这次活动，就没有第二部Lumia 800手机（蓝色版），刚好红色让给夫人，</summary><published>2012-05-16T09:05:00Z</published><updated>2012-05-16T09:05:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2012/05/16/2504319.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2012/05/16/2504319.html"/><content type="html">&lt;p&gt;&lt;img alt="" src="http://www.cnblogs.com/Emoticons/face/010.gif" /&gt;先感谢&lt;a href="http://www.cnblogs.com/threestone/" about="_blank"&gt;张磊&lt;/a&gt;&amp;#8212;&amp;#8212;我在交大研究生时的同学，是他告诉诺基亚和微软举办春Phone计划这个活动的消息，没有这个消息，我也就没有参加这次活动，同时还要感谢他在云计算Azure方面对我提供的帮助；再感谢我的夫人，感谢她对我玩Wp7开发的支持，我的第一部Lumia 800红色版就是在她的支持下买的，虽然Lumia 800在我的使用过的手机中是最贵的，但她还是支持我买一个，当时诺基亚的Lumia还没到中国大陆来，而她自己还在用1000元不到的Android小屏手机。最后不得不感谢Nokia和Microsoft的这次春Phone活动，没有这次活动，就没有第二部Lumia 800手机（蓝色版），刚好红色让给夫人，蓝色给我自己留着，小小可惜是，她的卡号是电信的，不过不影响开心喜悦的氛围。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;学着老外感谢完之后，开始简单谈一下开发Wp7应用的感受了。&lt;img alt="" src="http://www.cnblogs.com/Emoticons/xd/003.gif" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1，抓住先机&lt;/p&gt;&lt;p&gt;从&lt;a href="http://www.cnblogs.com/architect/archive/2012/02/17/2355806.html"&gt;上篇博客&lt;/a&gt;（2月17日）到现在（5月16日），差不多刚好3个月，截至现在，市场上已有发布程序5个（其中3个收费，2个免费），正在审核中有4个（其中3个更新，1个新提交），朋友建议不要发太多。现在想想，虽然不多，长吁一口气，也算有了长进，3个月前，几乎是从0基础开始玩这个Wp7开发，除了C#不是0基础外。目前开发中学到不少东西。&lt;/p&gt;&lt;p&gt;其次最最大的深感是Wp7的开发非常的迅速，从我今年元旦买到手机起，那时并没有太多中文应用，现在如雨后春笋般都起来了，谁走在前头，谁赢得可能性大，当然不排除优秀的后来者居上。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2.多学多用&lt;/p&gt;&lt;p&gt;最开始，因安卓、苹果在中国已经很成熟了，而Wp7迟迟没进入中国市场，得知今年差不多4月份要到中国上市，刚好去年12月，第一款Lumia800在香港上市，卖得火热，才有找个想法开发wp7的应用，抱着这样的目的想捷足先登，于是，在最后，我就只能写一些比较实用的应用，的确能有所帮助，至少要让自己能觉得有用。比如我喜欢听财经夜读，但在线的广播往往不在那个点，平时路上、外面没用到电脑也不能在线点播，于是做了一个可以手机点播的财经夜读收藏，于是可以在任何地点任何时刻都可以收听了。所以，最后的感受就是，作为业余开发者，就在空余时间开发一些朋友希望用的应用，即个人化的应用，不面大众，能给一些人帮助就已经体现一个小应用的价值了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3.重在创意&lt;/p&gt;&lt;p&gt;发现技术不是难题，再难的去论坛求助或搜索（个人建议搜索英文的），问题在于好的创意。&lt;/p&gt;&lt;p&gt;但是事情往往不是想想那样容易，一些独特的创意的确很难，能想到的市面上差不多也都有了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;4.测试环节&amp;nbsp;&lt;/p&gt;&lt;p&gt;应用提交时，感觉测试环节一定得仔细，不过真的真的很佩服微软的测试团队，一些很小的问题，都会给你打回，并写清详细的重现步骤，让你修改，所以给我也养成了一个提交前在不同的环境下、不同的主题下，还有不同的语言下全部测试通过，以及有网络和无网络下，后来渐渐发现一次性提交即可发布，只是感觉周期长了点，要耐心等待。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5.收支平衡&lt;/p&gt;&lt;p&gt;虽然3个月了，从情人节那天开始第一个应用上线，到今天才416个下载，但感觉开发这些应用还是蛮有意思的，很多中国人用惯了免费，&amp;#8220;鄙视&amp;#8221;付费应用，其实站在开发者角度，还需要租用服务器都花钱，个人开发者并不挣钱。总之，收费软件确保无Crash，无广告，无与APP不想干信息，高质量，高体验，一般收费都加试用，试用也不能太限制功能，不能太恶意，否则用户没法试用，我的试用几乎和完整版差不多，自己用自己的软件，其实喜欢用试用，因为可以点广告，达到收支平衡。对于个人开发者，挣钱的确很难，以挣钱为目的，发不了大财，除非你的某一个应用火到像Angry Birds，但Angry Birds的背后也不是个人，所以个人嘛，就是兴趣，能给身边朋友用用，给想用的人用用，愿意付费的付，不愿意的我也很开心你能试用，总之不赔本就OK。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;6.关于Live ID：&lt;/p&gt;&lt;p&gt;还有另一个感受，之前一直困扰我很久的就是关于手机下载Marketplace app权限的问题，&lt;/p&gt;&lt;p&gt;其实在第一次登录并使用Marketplace的时候，会让你选择一个国家，那么这个国家就决定了你使用哪个国家市场App的权限，我第一次设置的时候，也不知道怎么回事稀里糊涂地选择了Unite States，如今填不了信用卡，     &lt;a href="http://forums.create.msdn.com/forums/t/104264.aspx"&gt;http://forums.create.msdn.com/forums/t/104264.aspx&lt;/a&gt; ，购买不了任何收费程序。之前咨询过不少人，直到现在发现跟live id有关。另外，注意用一个ID，不要经常换，一般付费了或在免费时用了后变付费了，这个APP就算你购买过了，当你下载已经够买过的APP，会提示："You've already purchased this app. Would you like to install it again?"，所以不用担心，本人喜欢下载市场最新的软件试用，无论是免费的还是收费的，然后好的留着，烂的卸掉！所以我自己也写了一个工具爬虫爬Microsoft最新APP列表。&lt;/p&gt;    &lt;img src="http://www.cnblogs.com/architect/aggbug/2504319.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2012/05/16/2504319.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2012/02/17/2355806.html</id><title type="text">第一个Wp7手机软件发布到微软市场过程与小体会</title><summary type="text">赶在2012年元旦来临前，托人在香港买了一台Nokia Lumia 800行货windows phone 7手机，从这个点才算真正踏入WP7手机软件研发阶段。先前，也就见过，不过那时都没有中文输入法，界面也较丑，现在到了Mango版本，的确不一样了。切合主题，谈一下从学习开发软件到发布第一个程序到Microsoft Marketplace的过程吧。一、尝试期首先，借用了朋友注册的一个学生开发帐户，将自己的爱机解锁，并成为了开发机，再此感谢他，因为我入门时，请教过他很多问题，他都一一解答（他是在微软做云计算，想了解这方面的知识，可以访问他的博客，http://www.cnblogs.com/th</summary><published>2012-02-17T06:55:00Z</published><updated>2012-02-17T06:55:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2012/02/17/2355806.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2012/02/17/2355806.html"/><content type="html">&lt;p&gt;赶在2012年元旦来临前，托人在香港买了一台Nokia Lumia 800行货windows phone 7手机，从这个点才算真正踏入WP7手机软件研发阶段。先前，也就见过，不过那时都没有中文输入法，界面也较丑，现在到了Mango版本，的确不一样了。切合主题，谈一下从学习开发软件到发布第一个程序到Microsoft Marketplace的过程吧。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;一、尝试期&lt;/p&gt;&lt;p&gt;首先，借用了朋友注册的一个学生开发帐户，将自己的爱机解锁，并成为了开发机，再此感谢他，因为我入门时，请教过他很多问题，他都一一解答（他是在微软做云计算，想了解这方面的知识，可以访问他的博客，&lt;a href="http://www.cnblogs.com/threestone/"&gt;http://www.cnblogs.com/threestone/&lt;/a&gt;）。当时不太懂如何解锁，如何在机器上调试程序，当然在两周之类全都会了，并写了一个类似的蜘蛛爬虫的程序到手机上，如果看我的&lt;a href="http://www.cnblogs.com/architect/archive/2012/02/02/2336344.html"&gt;前一篇博文&lt;/a&gt;，就知道这一切都在计划中，我说过要把它移植到手机上来的。前几次，通过朋友的帐户发布到微软市场，想走一些整个流程，结果在Certify阶段就被退回了，测试报告上说，程序没有问题，但是违反了某些条款，而且把重现的步骤写得一清二楚，这个让我有些欣喜，这微软团队测试还真仔细，我没告诉它们操作步骤，他们自己测得那么详细。后来我改了改，继续在原基础上发布，还是被退回了，这时的心情就不一样了，怎么那么多要求，当然后来只好认真读了下开发者规则。所以建议大家一定要好好读读微软的那些开发准则。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;二、付款99美金&lt;/p&gt;&lt;p&gt;最后感觉流程走得差不多，而且了解还不错，于是在院校那天买了个开发帐户，接下来就认真测试了一下自己的程序，并改了又开，提交发布了。&lt;/p&gt;&lt;p&gt;但是并非一次性通过，还是被打回来了，原因是德文版有英文出现。晕了，但是后来改良之后，就在前几天通过了。通过后，并不是直接显示在手机市场上，也就是说手机当天搜索不到，但是24-48小时后，就可以看到了。到此时一切正常。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;三、收获阶段&lt;/p&gt;&lt;p&gt;当天在手机市场上能看到后，晚上去上面看的时候，就有6个下载，这让我有些惊喜，第一天就有6个下载了。不过还没看到点评。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;最后的体会就是,这将是一次大的机会,微软市场的软件相当于Android和iOS系统,少的可怜.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;用户体验.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;实用性&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;多关注用户反馈,站在用户角度思考、创新&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;另外有兴趣朋友，或也在开发Wp7的朋友，可以交流下！最后大家有空，可以用用偶的WP7市场的小软件，用后请反馈，建议和意见是改进的源泉。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;WP7在微软市场的地址：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.windowsphone.com/en-US/apps/230609f6-f2af-42b3-bd77-f2c1a78b059d"&gt;http://www.windowsphone.com/en-US/apps/230609f6-f2af-42b3-bd77-f2c1a78b059d&lt;/a&gt;&lt;/p&gt;&lt;p&gt;用手机访问以下地址直接安装&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.zivsoft.com/wp7/"&gt;http://www.zivsoft.com/wp7/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/architect/201202/201202171454238938.png" alt="" /&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/architect/201202/201202171454401212.png" alt="" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/architect/aggbug/2355806.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2012/02/17/2355806.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2012/02/02/2336344.html</id><title type="text">放蜘蛛出来爬1000张免费HOT图片，抛砖引玉引【垂直搜索】领域高手围观</title><summary type="text">【本文摘要】由于本人对垂直搜索有着浓厚兴趣，抱着与园子里高手一起更深入研究，故抛砖引玉，献上蜘蛛们爬回来的1000张比较Hot的美女图片给大家（声明：大家通过本蜘蛛软件爬出来的图片，看看就罢了不要传播）。搜图片只是垂直搜索的一个具体应用，不用我详说，大家也知道前景远远不是这些。本文所提供的爬虫是受限版（仅能爬1000张热图），目的不在于本爬虫和图片，而是引无数高手一起探讨垂直搜索这个领域。【预备概念】垂直搜索是针对某一个行业的专业搜索引擎，是搜索引擎的细分和延伸，是对网页库中的某类专门的信息进行一次整合，定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。相对通用搜索引擎的信息量大、查</summary><published>2012-02-02T14:42:00Z</published><updated>2012-02-02T14:42:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2012/02/02/2336344.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2012/02/02/2336344.html"/><content type="html">&lt;div&gt;【本文摘要】&lt;/div&gt;&lt;p&gt;由于本人对垂直搜索有着浓厚兴趣，抱着与园子里高手一起更深入研究，故抛砖引玉，献上蜘蛛们爬回来的1000张比较Hot的美女图片给大家（声明：大家通过本蜘蛛软件爬出来的图片，看看就罢了不要传播）。搜图片只是垂直搜索的一个具体应用，不用我详说，大家也知道前景远远不是这些。本文所提供的爬虫是受限版（仅能爬1000张热图），目的不在于本爬虫和图片，而是引无数高手一起探讨垂直搜索这个领域。&lt;img alt="" src="http://www.cnblogs.com/Emoticons/qface/055242240.gif" /&gt;&lt;/p&gt;&lt;p&gt;【预备概念】&lt;/p&gt;&lt;p&gt;&lt;span style="line-height: 25px; font-family: arial, 宋体, sans-serif; background-color: #ffffff;"&gt;垂直搜索是针对某一个行业的专业搜索引擎，是搜索引擎的细分和延伸，是对网页库中的某类专门的信息进行一次整合，定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。相对&lt;/span&gt;&lt;strong style="color: red; "&gt;通用搜索引擎&lt;/strong&gt;&lt;span style="line-height: 25px; font-family: arial, 宋体, sans-serif; background-color: #ffffff;"&gt;的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式，通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是&amp;#8220;专、精、深&amp;#8221;，且具有行业色彩，相比较通用搜索引擎的海量信息无序化，&lt;/span&gt;&lt;span style="color: red; "&gt;&lt;strong&gt;垂直搜索引擎&lt;/strong&gt;&lt;/span&gt;&lt;span style="line-height: 25px; font-family: arial, 宋体, sans-serif; background-color: #ffffff;"&gt;则显得更加专注、具体和深入。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;【先看结果】&lt;/p&gt;&lt;p&gt;大家可以在机器上装上至少.NET3.5以上的环境（具体安装不用介绍，园友们应该都知道），然后下载以下程序直接运行（&lt;span style="color: red; "&gt;仅一个EXE文件&lt;/span&gt;）：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;iframe title="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" width="98px" height="120px" style="padding:0;background-color:#fcfcfc;" src="https://skydrive.live.com/embed?cid=35D7BE189926747A&amp;amp;resid=35D7BE189926747A%211223&amp;amp;authkey=ALTWYu4UpDlengA"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;如果您的浏览器不支持上面的图标下载的话，可通过地址&lt;a href="https://skydrive.live.com/?cid=35d7be189926747a&amp;amp;id=35D7BE189926747A%211223"&gt;https://skydrive.live.com/?cid=35d7be189926747a&amp;amp;id=35D7BE189926747A%211223&lt;/a&gt;直接下载。&lt;/p&gt;&lt;p&gt;第一次执行可能会有些慢，这要看你机器的网络速度如何。当看到EXE文件下有文件夹出现，且文件夹里有图片，则表示运行正常。一个针对HOT图片的垂直搜索的结果就呈现了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;【再谈原理】&lt;/p&gt;&lt;p&gt;由于笔者知识浅薄，仅简要谈一下原理，搜索是通过一个已知URL地址，然后遍历到所有的URL地址，也就是让蜘蛛机器人自己去寻找URL地址（当然不能让蜘蛛出现死循环，会记录已经爬过的路径，避免重复），这样下去，再加上多线程并发，URL地址会越爬越多，可以说在浩瀚互联网里，应该没有终点了。&lt;/p&gt;&lt;p&gt;以上，主要是找到了各家服务器地址，但是如何搜索具体领域的数据呢？如本文提到的图片（美女图）。这里就要用到图像识别，图像本身是一个二进制文件，蜘蛛机器人不会和我们肉眼那样去瞅图片里的内容是否是美女，还是丑女，它仅仅知道图片的一些二进制信息，通过一些算法来确认图片内容和格式。&lt;/p&gt;&lt;p&gt;如果上面的第一段的派蜘蛛机器人出去的华是通用搜索的话，那么第二段蜘蛛机器人搜索URL并识别合格的图片数据则为垂直搜索了。接下来，再合理的展现给用户，便是一套完整的流程。本程序会分析搜索到的图片像素大小，小图片会被过滤不保存，同名的，也会分析内容是否一样，不一样的话则重新命名，总之不用担心大量的小图片会被下载和文件重名等问题。如果可以的话再写一些终端展现UI给用户，就更完美了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;【最后讨论】&amp;nbsp;&lt;/p&gt;&lt;p&gt;说了那么多，由于时间原因，有些文字可能讲得不那么清楚，但一点很明确，【蜘蛛爬虫】-&amp;gt;【数据】-&amp;gt;【终端呈现】，最近刚拿同学的WP7市场一个Student帐号，实验性地将以&amp;#8220;蜘蛛爬虫&amp;#8221;的Demo程序上传到了微软Marketplace，很开心的是没有任何BUG，测试上都通过。接下来，想写更多的垂直搜索方面的产品，如一些具体领域的数据抓取，如珠宝市场价格、手机领域销量、 微博热门话题等等。最后，大家有么有什么更高深的见解在垂直搜索上面呢？我已经抛砖了，大家就不要再抛了，欢迎提出自己的看法和建议。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;【与此相关】&lt;/p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2009/07/24/1530347.html"&gt;&lt;/a&gt;&lt;a id="ctl02_TitleUrl" href="http://www.cnblogs.com/architect/archive/2009/07/24/1530347.html"&gt;&lt;font color="#0066aa"&gt;蜘蛛爬虫网络高像素图片抓取工具[ZSpider.NET]&lt;/font&gt;&lt;/a&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/architect/aggbug/2336344.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2012/02/02/2336344.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2012/01/19/2326199.html</id><title type="text">Windows Phone 7.5 OS版本7.10.8107.79 官方更新</title><summary type="text">本文对最近的一次更新内容和步骤作简要说明。 实验机器为Nokia Lumia 800。</summary><published>2012-01-19T02:57:00Z</published><updated>2012-01-19T02:57:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2012/01/19/2326199.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2012/01/19/2326199.html"/><content type="html">&lt;p&gt;[摘要]本文对最近的一次更新内容和步骤作简要说明。实验机器为Nokia Lumia 800。&lt;/p&gt;&lt;p&gt;本次更新，主要内容有：&lt;/p&gt;&lt;p&gt;修复了一个屏幕键盘问题，可防止在键入时键盘消失。&lt;/p&gt;&lt;p&gt;修复了一个Gmail同步问题。&lt;/p&gt;&lt;p&gt;修复了一个位置访问问题。通过修复，只有在您同意允许"签到"功能访问和使用位置信息时，"人脉中心"中的"我"功能才会将有关附近的Wi-fi介入点和手机激战的匿名信息发送给Microsoft。&lt;/p&gt;&lt;p&gt;撤销了DigiCertSdn Bhd提供的数字整数以解决加密问题。&lt;/p&gt;&lt;p&gt;修复了设计Exchange 2003的电子邮件问题。通过修复，当您答复或转发邮件时，原始邮件现在会包含在您的回复内容中。&lt;/p&gt;&lt;p&gt;修复了一个语音留言通知问题。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;由于更新是累积的，因此，即使您的手机上没有 安装以前的更新也不用担心，当您安装最新的更新时，您将获得我们之前发布的所有更新。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;升级截图：&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/architect/201201/201201191051429215.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/architect/201201/201201191051516065.png" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;最后更新成功后的界面：&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/architect/201201/20120119105156520.png" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;更新成功后，手机上用户自己的内容依旧在，但版本升级为了7.10.8107.79。系统也比之前完善稳定了。&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/architect/201201/201201191052075984.png" /&gt;&lt;/p&gt;  &lt;img src="http://www.cnblogs.com/architect/aggbug/2326199.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2012/01/19/2326199.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/06/10/2077679.html</id><title type="text">通过HTML调用C# [架构]</title><summary type="text">先看一下HTML代码：&lt;html&gt;&lt;head&gt;&lt;title&gt;DemoforhowtocallC#businessfromhtmlpage&lt;/title&gt;&lt;scriptsrc="http://www.zivosft.com/core/lib.js"&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;formid="default"action="Zivsoft.Business.DemoShow.AddSample"&gt;&lt;inpu</summary><published>2011-06-10T07:27:00Z</published><updated>2011-06-10T07:27:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/06/10/2077679.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/06/10/2077679.html"/><content type="html">&lt;p&gt;先看一下HTML代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Demo&amp;nbsp;for&amp;nbsp;how&amp;nbsp;to&amp;nbsp;call&amp;nbsp;C#&amp;nbsp;business&amp;nbsp;from&amp;nbsp;html&amp;nbsp;page&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://www.zivosft.com/core/lib.js"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;form&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="default"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;action&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Zivsoft.Business.DemoShow.AddSample"&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="a"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="b"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="c"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="txt"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;='text'&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;input&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="button"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="add"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="submit"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;onclick&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CallBusiness();"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;form&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;再看一下HTML界面：&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/architect/d.png" /&gt;&lt;/p&gt;&lt;p&gt;以上是一个非常简单的Demo，来演示通过HTML界面构造三个输入框，并调用后代C#逻辑Zivsoft.Business.DemoShow.AddSample实现三个数相加求和的功能。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;下面看一下后台C#业务逻辑：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Zivsoft.Business.DemoShow&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;AddSample:BaseControl&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&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; private&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;Add_Click(IComponent&amp;nbsp;com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;.txt.Value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Convert.ToInt32(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.tba.Value)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Convert.ToInt32(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.tbb.Value)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Convert.ToInt32(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.tbc.Value);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;最后看看一段JavaScript代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;url&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: #000000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;a href="http://www.zivsoft.com/cloudserver/default.aspx"&gt;http://www.zivsoft.com/cloudserver/default.aspx&lt;/a&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.open(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;POST&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;url,&amp;nbsp;async);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setRequestHeader(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Content-Type&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: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;application/x-www-form-urlencoded;&amp;nbsp;charset=utf-8&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(reqData.indexOf(&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;/&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: #000000"&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;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reqData&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;reqData.replace(&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;/&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: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;%2F&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&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;reqData&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;reqData.replace(&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;\&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;g,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;%3D&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reqData&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;reqData.replace(&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;\&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;g,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;%3E&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//发送请求数据给云端ASPX程序&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.send(reqData);&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;if&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;async)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(req.status&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: #000000"&gt;200&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&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;req.responseText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&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;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;cloud server error&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;不多写了，童鞋们知道怎么回事了吧？&lt;/p&gt;&lt;p&gt;现在技术日新月异，终端程序层次不齐，有XAML，HTML5等等，UI虽然越来越绚丽美观了，应用终端也越来越多了，如Android, WP7等，但不变的是后端的服务。精通C#或Java的童鞋赶紧加入云计算的后台来吧！！！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/architect/aggbug/2077679.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/06/10/2077679.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/05/27/2060193.html</id><title type="text">针对Silverlight 4的UI自动化测试</title><summary type="text">针对Silverlight 4的UI自动化测试 目前Visual Studio 2010 SP1也早已发布，我们只需要在此基础上装Feature Pack 2补丁包，便可通过Coded UI Test来录制Silverlight 4的UI界面了，并Playback你的测试用例了。注意，Feature Pack2的用处是在被测试机器（MUT）打的补丁。当然你在所有机器上都装也不会有什么问题。 这里我们有一个DLL文件需要注意：Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll 这个</summary><published>2011-05-27T10:47:00Z</published><updated>2011-05-27T10:47:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/05/27/2060193.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/05/27/2060193.html"/><content type="html">&lt;p&gt;针对Silverlight 4的UI自动化测试 &lt;/p&gt;&lt;p&gt;目前Visual Studio 2010 SP1也早已发布，我们只需要在此基础上装Feature Pack 2补丁包，便可通过Coded UI Test来录制Silverlight 4的UI界面了，并Playback你的测试用例了。注意，Feature Pack2的用处是在被测试机器（MUT）打的补丁。当然你在所有机器上都装也不会有什么问题。 &lt;/p&gt;&lt;p&gt;这里我们有一个DLL文件需要注意：&lt;span style="font-family: Segoe UI; color: black; font-size: 9pt"&gt;Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: black; font-size: 9pt"&gt;&lt;span style="font-family: 宋体"&gt;这个&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;DLL&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;是用来帮助&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;Coded UI Test&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;识别&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;Silverlight 4&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;UI&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;控件的，注意它是被&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;程序引用，而不是&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt;Test Project&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，很多朋友起初容易混淆。&lt;/span&gt;&lt;span style="font-family: Segoe UI"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: black; font-size: 9pt"&gt;&lt;span style="font-family: Segoe UI"&gt;以下为BrowserWindow的录制结果：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Segoe UI; color: black; font-size: 9pt"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[GeneratedCode(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Coded&amp;nbsp;UITest&amp;nbsp;Builder&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;10.0.40219.1&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;UISilverlightApplicatiWindow&amp;nbsp;:&amp;nbsp;BrowserWindow&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;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;UISilverlightApplicatiWindow()&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;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Search&amp;nbsp;Criteria&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[UITestControl.PropertyNames.Name]&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;SilverlightApplication1&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[UITestControl.PropertyNames.ClassName]&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;IEFrame&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.WindowTitles.Add(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;SilverlightApplication1&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;&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;&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;&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;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;LaunchUrl(System.Uri&amp;nbsp;url)&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.CopyFrom(BrowserWindow.Launch(url));&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;&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;&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;UISilverlightApplicatiDocument&amp;nbsp;UISilverlightApplicatiDocument&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;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUISilverlightApplicatiDocument&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUISilverlightApplicatiDocument&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;UISilverlightApplicatiDocument(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/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;.mUISilverlightApplicatiDocument;&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;&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;&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;Fields&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;UISilverlightApplicatiDocument&amp;nbsp;mUISilverlightApplicatiDocument;&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;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;以下为HtmlDocument录制结果：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[GeneratedCode(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Coded&amp;nbsp;UITest&amp;nbsp;Builder&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;10.0.40219.1&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;UISilverlightApplicatiDocument&amp;nbsp;:&amp;nbsp;HtmlDocument&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;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;UISilverlightApplicatiDocument(UITestControl&amp;nbsp;searchLimitContainer)&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;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(searchLimitContainer)&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;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Search&amp;nbsp;Criteria&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[HtmlDocument.PropertyNames.Id]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[HtmlDocument.PropertyNames.RedirectingPage]&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;False&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[HtmlDocument.PropertyNames.FrameDocument]&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;False&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.FilterProperties[HtmlDocument.PropertyNames.Title]&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;SilverlightApplication1&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.FilterProperties[HtmlDocument.PropertyNames.AbsolutePath]&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;/WebSite2/SilverlightApplication1TestPage.html&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.FilterProperties[HtmlDocument.PropertyNames.PageUrl]&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;http://localhost:24805/WebSite2/SilverlightApplication1TestPage.html&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.WindowTitles.Add(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;SilverlightApplication1&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;&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;&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;&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;&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;UISilverlightControlHoPane&amp;nbsp;UISilverlightControlHoPane&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;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUISilverlightControlHoPane&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUISilverlightControlHoPane&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;UISilverlightControlHoPane(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/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;.mUISilverlightControlHoPane;&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;&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;&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;Fields&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;UISilverlightControlHoPane&amp;nbsp;mUISilverlightControlHoPane;&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;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Silverlight的MainPage录制结果：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[GeneratedCode(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Coded&amp;nbsp;UITest&amp;nbsp;Builder&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;10.0.40219.1&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;UIMainPageMainPage&amp;nbsp;:&amp;nbsp;SilverlightControl&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;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;UIMainPageMainPage(UITestControl&amp;nbsp;searchLimitContainer)&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;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(searchLimitContainer)&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;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Search&amp;nbsp;Criteria&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.SearchProperties[UITestControl.PropertyNames.ControlType]&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;MainPage&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.WindowTitles.Add(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;SilverlightApplication1&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;&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;&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;&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;&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;SilverlightText&amp;nbsp;UITextBlockText&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;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUITextBlockText&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUITextBlockText&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;SilverlightText(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&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;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Search&amp;nbsp;Criteria&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUITextBlockText.SearchProperties[SilverlightText.PropertyNames.AutomationId]&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;textBlock1&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;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.mUITextBlockText.WindowTitles.Add(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;SilverlightApplication1&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;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/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;.mUITextBlockText;&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;&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;&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;Fields&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SilverlightText&amp;nbsp;mUITextBlockText;&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;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;另外：&lt;/p&gt;&lt;p&gt;但是这里有一个问题，如果作为数据挖掘的蜘蛛爬虫来说，如果数据源网站用silverlight做，但没有引用&lt;span style="font-family: Segoe UI; color: black; font-size: 9pt"&gt;Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll ，那么无论是数据抓取还是Coded UI Test，都无能为力了！！！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Segoe UI; color: black; font-size: 9pt"&gt;可有高手解决此问题？&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/architect/aggbug/2060193.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/05/27/2060193.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/05/23/2054197.html</id><title type="text">C# 5.0 抢先看</title><summary type="text">第一：绑定运算符，:=:这个只是简化了数据绑定，跟ASP.NET MVC3不断改进一样，其实不是什么亮点改进。comboBox1.Text:=:textBox1.Text;//将文本框的内容绑定到下拉框。第二：带参数的泛型构造函数：这个的加入给一些设计增加了强大功能，泛型早在C#2.0加入后就有着强大的应用，一般稍微设计比较好的框架，都会用到泛型，C#5.0加入带参数泛型构造函数，则在原有基础上对C#泛型完善了很多。:)publicclassTMyClass:T:class,new()//wemighthavepublicclassTMyClass:T:class,new(int)第三：支持n</summary><published>2011-05-23T03:59:00Z</published><updated>2011-05-23T03:59:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/05/23/2054197.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/05/23/2054197.html"/><content type="html">&lt;p&gt;&lt;span id="comment_body_2272931" class="blog_comment_body"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第一：绑定运算符，:=:&lt;/p&gt;&lt;p&gt;这个只是简化了数据绑定，跟ASP.NET MVC3不断改进一样，其实不是什么亮点改进。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;comboBox1.Text&amp;nbsp;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;:&amp;nbsp;textBox1.Text;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;将文本框的内容绑定到下拉框。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第二：带参数的泛型构造函数：&lt;/p&gt;&lt;p&gt;这个的加入给一些设计增加了强大功能，泛型早在C#2.0加入后就有着强大的应用，一般稍微设计比较好的框架，都会用到泛型，C#5.0加入带参数泛型构造函数，则在原有基础上对C#泛型完善了很多。:)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;T&amp;nbsp;MyClass&amp;nbsp;:&amp;nbsp;T:&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;we&amp;nbsp;might&amp;nbsp;have&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;T&amp;nbsp;MyClass&amp;nbsp;:&amp;nbsp;T:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第三：支持null类型运算：&lt;/p&gt;&lt;p&gt;此功能，个人觉得并非什么大的亮点，但至少对null类型，特别是有数据计算的这种null类型的支持，写代码还是方便不少。&lt;/p&gt;&lt;p&gt;注意对于Nullable Types，在C#2.0就加入进来了，但是不支持计算，比如：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;x &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;y &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;x &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+ 40&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;那么y值是多少？不支持计算，得到的是null，想必大家知道为什么结果是null了吧？但C#5.0可以，40加一个null的整数，我们要的结果是40，不过份吧？&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;x&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;y&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;40&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Myobject&amp;nbsp;obj&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;br /&gt;Myotherobj&amp;nbsp;obj2&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;obj.MyProperty&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;???&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;Myotherobj();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第四：case支持表达式：&lt;/p&gt;&lt;p&gt;这个是一个我很早就想如果能这样就好了，没想到在C#5.0里就加入此功能，以前case里只能写一个具体的常量，而现在可以加表达式了，灵活多了。&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;switch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(myobj){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.IsNullorEmpty(myotherobj):&lt;br /&gt;&lt;br /&gt;&amp;nbsp;//逻辑代码&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;myotherobj.Trim().Lower:&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;//逻辑代码&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第五：扩展属性。&lt;/p&gt;&lt;p&gt;我们在C#3.0里有扩展方法，那么在C#5.0里将会加入扩展属性的感念，对照扩展方法，不难理解扩展属性的概念了。以下为扩展属性的定义举例：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[Associate(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;Zivsoft_ExtensionProperty&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;C#5.0 远远不只是上面描述的5点新功能，它如同C#4.0加入dynamic概念一样，会加入异步处理概念，这个不是几行代码就能表达，而是将在设计，架构上，又会掀起一次飞跃&amp;#8230;&amp;#8230;&lt;/p&gt;&lt;p&gt;为了大家抢先看，就给一段C#5.0一段简单的异步操作的代码例子，注意（C#5.0两个新加的关键字&lt;span style="color: rgb(0, 0, 255);"&gt;async&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;await&lt;/span&gt;):&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div style="color: blue;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Task&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Movie&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;GetMovieAsync(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;title);&lt;br /&gt;Task&amp;nbsp;PlayMovieAsync(Movie&amp;nbsp;movie);&lt;br /&gt;&lt;font color="blue"&gt;async&lt;/font&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;GetAndPlayMoviesAsync(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[]&amp;nbsp;titles)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;(var&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;titles)&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;var&amp;nbsp;movie&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;font color="blue"&gt;await&lt;/font&gt;&amp;nbsp;GetMovieAsync(title);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;await&amp;nbsp;PlayMovieAsync(movie);&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;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;请注意，本文参考&lt;span id="comment_body_2272931" class="blog_comment_body"&gt;&lt;a href="http://www.codeproject.com/Articles/113752/5-nice-things-to-have-in-C-5-0" target="_blank"&gt;&lt;font color="#0066aa"&gt;http://www.codeproject.com/Articles/113752/5-nice-things-to-have-in-C-5-0&lt;/font&gt;&lt;/a&gt;，并非C#5.0官方发布。&lt;/span&gt; &lt;img src="http://www.cnblogs.com/architect/aggbug/2054197.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/05/23/2054197.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/03/23/1992418.html</id><title type="text">软件业技术与管理的衔接角色：架构师——从技术层到管理层修炼之路</title><summary type="text">今天开会谈到个人职业规划与发展问题，大部分人都想从技术到管理华丽转身，可又不知道如何做管理。其实一个最好的过度角色便是架构师。请看我下面的总结与建议：软件架构师工作职责是在一个软件项目开发过程中，将客户的需求转换为规范的开发计划及文本，并制定这个项目的总体架构，指导整个开发团队完成这个计划。一般来讲，软件架构师主要分成：1：前端架构师: 前端架构师主要负责软件产品的前端呈现，必须具有以下能力： 可用性设计 呈现层设计 需求分析能力 沟通能力 执行能力 推动能力 2：平台架构师：平台架构师主要参与产品的长期规划及其推进，因此其需具有一下能力：技术能力(技术比较广泛而且也比较熟练) 长期规划能力及</summary><published>2011-03-23T05:27:00Z</published><updated>2011-03-23T05:27:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/03/23/1992418.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/03/23/1992418.html"/><content type="html">&lt;p&gt;今天开会谈到个人职业规划与发展问题，大部分人都想从技术到管理华丽转身，可又不知道如何做管理。其实一个最好的过度角色便是架构师。请看我下面的总结与建议：&lt;/p&gt;&lt;p&gt;软件架构师工作职责是在一个软件项目开发过程中，将客户的需求转换为规范的开发计划及文本，并制定这个项目的总体架构，指导整个开发团队完成这个计划。&lt;/p&gt;&lt;p&gt;一般来讲，软件架构师主要分成：&lt;/p&gt;&lt;p&gt;1：前端架构师: 前端架构师主要负责软件产品的前端呈现，必须具有以下能力：&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;可用性设计 &lt;/li&gt;&lt;li&gt;呈现层设计 &lt;/li&gt;&lt;li&gt;需求分析能力 &lt;/li&gt;&lt;li&gt;沟通能力 &lt;/li&gt;&lt;li&gt;执行能力 &lt;/li&gt;&lt;li&gt;推动能力 &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;2：平台架构师：平台架构师主要参与产品的长期规划及其推进，因此其需具有一下能力：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;技术能力(技术比较广泛而且也比较熟练) &lt;/li&gt;&lt;li&gt;长期规划能力及推进力 &lt;/li&gt;&lt;li&gt;需求分析能力 &lt;/li&gt;&lt;li&gt;沟通能力 &lt;/li&gt;&lt;li&gt;执行能力 &lt;/li&gt;&lt;li&gt;推动能力 &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;3：解决方案架构师：解决方案架构师主要为特定的解决方案提供一个一栈式的架构。其能力包括：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;技术能力(技术比较广泛而且也比较熟练) &lt;/li&gt;&lt;li&gt;整合能力 &lt;/li&gt;&lt;li&gt;行业知识 &lt;/li&gt;&lt;li&gt;需求分析能力 &lt;/li&gt;&lt;li&gt;沟通能力 &lt;/li&gt;&lt;li&gt;执行能力 &lt;/li&gt;&lt;li&gt;推动能力 &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;再来看看，软件架构师的核心地位：&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/architect/201103/201103231326336099.gif" alt=""/&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;在团队外部，架构师，需要与项目经理沟通，通过系统分析师理解需求，让测试分析师制定测试与开发的同步计划，架构好软件产品后，还要告之配置经理进行系统配置实施。&lt;/li&gt;&lt;li&gt;在团队内部，架构师，要让设计员根据需求设计好软件，并让用户界面设计员做好界面设计，同时还会设计到数据库设计、系统集成、实施等相关任务工作分解。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;从能力层级上看，平台架构师比前端架构师要求知识高一些，而解决方案架构师则是更加具备综合能力的高端人才。&lt;/p&gt;&lt;p&gt;如Tristan，如果想在UI设计上有所发展，可以往前端架构师发展，并在UI用户体验上特别花功夫，好的UI设计与用户体验对于客户是非常重要的。&lt;/p&gt;&lt;p&gt;如当前的我，目前也就偏向于平台架构师，但这是一个对技术有强依赖性，对一些技术架构要非常清楚。&lt;/p&gt;&lt;p&gt;当然，我们最好大家都能朝着解决方案架构师发展，它有一些类似产品经理（如Leo要即将发展的方向）这样的感觉，但又不全是，解决方案架构师，眼光会放得更远，有一种战略性的架构，与软件市场很密切。所以必须具有一定的行业知识。&lt;/p&gt;&lt;p&gt;UI Automation组内其他人也可以根据自身的特点，来发展规划自己的未来。上图中几乎是全部软件业人才角色分布图，供作参考。&lt;/p&gt;&lt;p&gt;但是，我们注意的是，"沟通能力、执行能力、推动能力"是上面三种架构师的基本能力，架构师没有35岁底线之说，它是技术与管理的衔接层，所以非常适合有着技术背景，但想往管理发展的你们。如果未来，从图中，你不难看出，在管理团队、分析团队、测试团队以及实施团队，你都可以拿下。当然大部分都会走向最上面的管理团队，这时你再来个转身，绝对华丽，将你所有的精力花在软件项目或软件企业管理上，哪怕是CEO，总裁级别，经过你这样的修炼，你将无可替代！！！加油！VMM UI Automation team!!&lt;/p&gt;  &lt;img src="http://www.cnblogs.com/architect/aggbug/1992418.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/03/23/1992418.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/03/22/1991234.html</id><title type="text">项目管理心态纪实——记一次交大上课经历</title><summary type="text">上张总的课，就像在上项目管理心理学。没有一定的境界，是无法拿捏张总所思所想。更谈不上风险控制。我早早来到了教室，但奇怪的是张总竟然迟迟没到，平时张总来得都挺早，但竟然在考试这天姗姗来迟。我当时有一种不详预感，但不够强烈，只是弱弱的感觉，今天考试不同以前。终于，在10点之后，张总来了，他的助理还有几个同学一起进来的。第一眼看去，张总今天精神很不错，看上去刚刚发生过什么令人兴奋的事情。"辛亏你们有同学下去接我，否则我都上不来了……"，张总第一句话让我大吃一惊，啥事，让张总差点上不来，当然后来才知道是因出租车什么问题。难道张总在考试了？接下来，开始考试了。张总开了电脑，班长上去拷</summary><published>2011-03-22T03:41:00Z</published><updated>2011-03-22T03:41:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/03/22/1991234.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/03/22/1991234.html"/><content type="html">&lt;p&gt;上张总的课，就像在上项目管理心理学。没有一定的境界，是无法拿捏张总所思所想。更谈不上风险控制。&lt;/p&gt;&lt;p&gt;我早早来到了教室，但奇怪的是张总竟然迟迟没到，平时张总来得都挺早，但竟然在考试这天姗姗来迟。我当时有一种不详预感，但不够强烈，只是弱弱的感觉，今天考试不同以前。&lt;/p&gt;&lt;p&gt;终于，在10点之后，张总来了，他的助理还有几个同学一起进来的。第一眼看去，张总今天精神很不错，看上去刚刚发生过什么令人兴奋的事情。"辛亏你们有同学下去接我，否则我都上不来了&amp;#8230;&amp;#8230;"，张总第一句话让我大吃一惊，啥事，让张总差点上不来，当然后来才知道是因出租车什么问题。难道张总在考试了？&lt;/p&gt;&lt;p&gt;接下来，开始考试了。张总开了电脑，班长上去拷贝文件到张总的电脑上去。我和白总正在讨论支付中心DEMO和手机支付的事，正讨论得热火朝天呢 ，听到讲台上张总说这U盘有病毒吧？我当时在想，又来这一套。我之前就不太相信张总说的U盘一插就死机的问题。这次估计也是吓唬我们的吧？&lt;/p&gt;&lt;p&gt;可看班长的表情，不太像假的。果然，我也好奇地上去看了一眼，真的死机了。不过，很快被几个人处理好了。白总就在我旁边，张总开始问有支付中心的DEMO吗？在昨天的DEMO制作中，其实心里很虚，因为DEMO需要网络才可以正常运行。看得出白总一样有些担心。但意外是他竟然还是上了。我虽然在下面，还是为他捏把汗，这DEMO要是演示出来，肯定要出大漏洞了。&lt;/p&gt;&lt;p&gt;白总上去后，迟迟不见DEMO出来，当然我知道他是在演示，因为上去之前，我让他把手机带上，演示前记得拨号上网。他就在捣这个。张总在下面又在故意捣糨糊，在项目管理学上说，这叫真实情景考试，看台上的白总是否能应付得来。也巧，今天太奇怪了，一是张总姗姗来迟，二是U盘导致死机，现在白总打开Word失败，而且一直失败。张总发话说，你们不用考了，Word都被你们弄坏了。我当时脑子里闪了两个念头，一，不是刚刚U盘真的有病毒导致的？二、张总在给我们挖坑、设陷阱？"你们不修好，就不用考试了！"&lt;/p&gt;&lt;p&gt;对于我们，张总的这话，并没有什么奇怪，在考我们风险呢。大家开始纷纷上去帮忙修复。我仔细观察了下张总，张总说今天最好玩了，看得出她脸上笑容比平时灿烂很多。张磊开始拿起他刚去北京回来的相机拍起了现场。&lt;/p&gt;&lt;p&gt;有人开始创建用户，去运行Word。但这里开始乱了分寸。我本来想上去试试，看能不能修复，但已经插不上手了，讲台围了一圈人了。我于是站在下面看着投影屏幕，看看究竟什么原因。后来在他们创建好另一个用户后，我上去试了下"Winword"的命令，可以正常打开word，但是考虑到不能随便打开张总电脑里的文件，我就问白总，我们的文件放哪了？白总也不清楚，我们一直在找，想赶紧把我们的word打开，让张总允许我们继续我们的支付中心DEMO演示，可是建新用户的事情被张总发现了，她说赶紧停止，你们在干什么? 没有办法，至少停止，其实我们应该打开任何文档，示意我们对电脑里的Word已经暂时修复了，可是当时没有这么做。只好大家下一步，又开始想办法如何去掉这个新建的用户。&lt;/p&gt;&lt;p&gt;后来我就下来了，我在想，这个风险嘛，我还是赶紧下去。于是我就和张磊开始拍照。感慨，这是啥门子考试啊？张总不会到最后说，已经考完了，你们成绩已经出来了。&lt;/p&gt;&lt;p&gt;张总终于"忍无可忍"，不过还好大家把用户成功给删除了，但是，大家都被张总"赶"下来了，说赶紧找解决办法，如果不把word修好，就不考试了。&lt;/p&gt;&lt;p&gt;善于控制风险的班长，开始想策略挽救这次DEMO演示，后来也不知道怎么扯到四万字的写作上。我记得张总途中说今天的场面很难得，其实她早就给我们设套了。&lt;/p&gt;&lt;p&gt;上午很快就要过去了，我提议帮张总修复Word，但是其实心里不太100%能保证修好word，于是提出能不能有备选方案？但很快被张总否决了。后来班长一再找方案，还是不行，张总意思说只想让Word恢复，其它方案不予接纳，包括重新安装。&lt;/p&gt;&lt;p&gt;终于宣布下课了。下课后，我向张总介绍了《艳红词霸》。张总感觉很有价值，但是被小囧一闹，她不敢再把这个推一定高度，看得出，张总对艳红词霸看好，但已经失去激情了。我当时有些失望，但后来我想那我自己坚持下去吧，可不能辜负前阵子熬夜做这个。虽严肃，但和蔼的张总让我们赶紧吃饭去吧，于是中午的故事就告一段落了。&lt;/p&gt;&lt;p&gt;到下午，Word依旧继续不给力，还是出错。张总想起了刘琛唱歌的事，还有四首歌曲在，赶紧上来唱呗，后来让两个女孩代理，果不其然，女孩也爽快答应了，张总终于答应给机会修复word了，郑详析同学上去了，可是被限制不准插入U盘，直接修复，而且在歌声结束前修好。Oh, my god! 是我不会做这没把握的事。郑详溪最终还是搞定了，佩服佩服。不过这里更佩服我们的白总，他竟然通过网络查到了解决方案。其实，惭愧啊，我却没想到。我的3G手机在关键时刻没用上，主要是我没想到。&lt;/p&gt;&lt;p&gt;后来，白总继续演示DEMO，终于有同学贡献上了WCDMA无线网卡，DEMO才可以正常演示，我终于松了口气。挺佩服大家的勇往直前的精神，终于领会到了张总说的那句"公司最看好的一种人，就是敢于冲的、勇往直前的人！"。&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration:underline"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/architect/aggbug/1991234.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/03/22/1991234.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/architect/archive/2011/02/24/1964075.html</id><title type="text">关于企业注册流程</title><summary type="text">80后们，在社会的这个阶段，应当开始担负起顶梁柱的时候了，创业主力军已经越来越强大了。创业者也越来越多。一般企业注册流程如下：</summary><published>2011-02-24T10:32:00Z</published><updated>2011-02-24T10:32:00Z</updated><author><name>周利华</name><uri>http://www.cnblogs.com/architect/</uri></author><link rel="alternate" href="http://www.cnblogs.com/architect/archive/2011/02/24/1964075.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/architect/archive/2011/02/24/1964075.html"/><content type="html">&lt;p&gt;80后们，在社会的这个阶段，应当开始担负起顶梁柱的时候了，创业主力军已经越来越强大了。创业者也越来越多。一般企业注册流程如下： &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第一步，去当地市工商局：3个工作日，核名免费，加急1个工作日，加急费100元，有效期6个月；市+字号+行业+有限公司，比如南京智艾悦软件有限公司。 &lt;/p&gt;&lt;p&gt;企业名称应当使用汉字。企业使用外文名称的，其外文名称（如zivsoft）应当与中文名称(如 智艾悦)相一致，并报登记主管机关登记注册。 &lt;/p&gt;&lt;p&gt;有限责任公司，最低注册资金3万元，2个（或以上）股的东。新公司法规定，允许1个股东注册有限责任公司，又称"一人有限公司"（执照上会注明"自然人独资"），最低注册资金10万元,并且一次缴足，登记费用是注册资金的千分之八，比如注册资金10万元登记费是800元 ，最低是50元。(不知道为什么一人有限公司的注册资本比2个或以上股东的资本要高？) &lt;/p&gt;&lt;p&gt;到工商局领取一张"企业（字号）名称预先核准申请表"，填入你准备取的公司名称(一共5个)，工商局会检索是否有重名，如无重名，即可使用并核发"企业（字号）名称预先核准通知书"，费用是30元(可以检索5个名称)。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第二步，租写字楼的办公室。 签订租房合同，并让房屋的产权人提供房产证复印件，再到税务局买印花税。税率是年租金的千分之一，将印花税票贴在合同的首页。我见过不少刚创业者租民房办公，其实是可以的，比较廉价，但貌似有的地方不允许。 &lt;/p&gt;&lt;p&gt;从工商局的网站下载"公司章程"样本，修改后，由所有股东(自己签名就可以了)签名。到刻章社，刻法人名章(注意是方型的)费用15-20元。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第三步，携带"公司章程""工商局的核名通知""法人名章""身份证"到银行去开立公司帐户(是验资帐户，将各股东的资金存入帐户)，银行出据"询征函""股东缴款单"。拿着"股东缴款单""询征函""公司章程""核名通知书""房租合同""房产证复印件"到会计师事务所办理验资报告，费用500元。 &lt;/p&gt;&lt;p&gt;到工商局领取公司设立登记的各种表格填好，然后将"核名通知""公司章程""房租合同""房产证复印件""验资报告"一起交给工商局，一般3个工作日后可以领取执照。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第四步，凭营业执照，到公安局指定的刻章社，刻公章，财务专用章（注意两个基本章），费用120-180元。凭营业执照到技术监督局办理组织机构代码证，费用30元。凭营业执照，组织机构代码证，去银行开立基本帐号（同时注销验资帐户）。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第五步，领取执照后的30日内到当地税务局申请领取税务登记证(国税,地税)费用分别是10元， 40元 。服务性质的公司使用地税发票，销售商品的公司使用国税发票。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;整个流程走下来，最快也要半个月，一般都要1一个月，慢就可能达几个月，办事流程多，没办法。欢迎各前辈有经验成功BOSS，分享您的建议和意见！&lt;/p&gt; &lt;img src="http://www.cnblogs.com/architect/aggbug/1964075.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/architect/archive/2011/02/24/1964075.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
