﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-Alex’Sky</title><link>http://www.cnblogs.com/AlexSky/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 08 Sep 2008 07:26:45 GMT</lastBuildDate><pubDate>Mon, 08 Sep 2008 07:26:45 GMT</pubDate><ttl>60</ttl><item><title>使用WebDevHelper辅助ASP.NET AJAX(AJAX.net、EXTJX)程序开发 </title><link>http://www.cnblogs.com/AlexSky/archive/2008/06/12/1218170.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Thu, 12 Jun 2008 02:37:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2008/06/12/1218170.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/1218170.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2008/06/12/1218170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/1218170.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/1218170.html</trackback:ping><description><![CDATA[<p><strong><font size="3">WebDevHelper介绍</font></strong></p>
<p>WebDevHelper是微软公司ASP.NET Team架构师<a href="http://www.nikhilk.net/" target="_blank">Nikhil Kothari</a>在业余时间的小作品（赞叹人家架构师对技术的执著，加上对编码的热爱&#8230;&#8230;），其中包含一些辅助Web开发的小工具，包括DOM查看、HTTP Trace、JavaScript Console、ASP.NET ViewState查看等杂项功能。今天<a href="http://projects.nikhilk.net/WebDevHelper/Default.aspx"><a href="http://www.nikhilk.net/Entry.aspx?id=144" target="_blank">Nikhil Kothari刚刚发布了WebDevHelper一个最新版本</a>——(Version 0.8.5.1, 8/23/2007)，</a>其中非常引人注目的就是对ASP.NET AJAX开发的有力支持。</p>
<p>&nbsp;</p>
<p><strong><font size="3">下载安装WebDevHelper</font></strong></p>
<p>WebDevHelper的下载相关链接如下：</p>
<ol>
    <li><a href="http://projects.nikhilk.net/Binaries/WebDevHelper.zip" target="_blank"><a href="http://projects.nikhilk.net/WebDevHelper/Content/WebDevHelper.zip"><a href="http://projects.nikhilk.net/WebDevHelper/Content/WebDevHelper.zip" target="_blank">WebDevHelper 0.8.4.0安装文件</a> </a></a>
    <li><a href="http://projects.nikhilk.net/WebDevHelper/Content/WebDevHelper.pdf" target="_blank">WebDevHelper 0.8.4.0帮助文档</a>（非常精美且内容详尽，PDF格式，这就是精益求精、专业的力量！强烈推荐阅读）
    <li>如果1、2地址失效，请访问主页:<font face="Verdana"><a href="http://projects.nikhilk.net/WebDevHelper/Default.aspx"><font face="Verdana">http://projects.nikhilk.net/WebDevHelper/Default.aspx</font></a><br />
    </font>安装好之后，可以选择IE的Tools|Web Development Helper菜单项，启用该工具，如图： </li>
</ol>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="487" alt="" src="http://www.cnblogs.com/images/cnblogs_com/dflying/WindowsLiveWriter/WebDevHelperASP.NETAJAX_8E6C/webdevhelper2%5B4%5D.jpg" width="693" border="0" /> </p>
<p>&nbsp;</p>
<p><strong><font size="3">在ASP.NET AJAX中使用WebDevHelper查看UpdatePanel信息</font></strong></p>
<p>双击Log窗口中某一次由UpdatePanel引发的异步更新记录，将弹出这一次HTTP请求的详细信息窗口。其中可以选择以局部更新模式查看HTTP Response信息，对于UpdatePanel来说，这些详细的信息非常有用：</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="701" alt="" src="http://www.cnblogs.com/images/cnblogs_com/dflying/WindowsLiveWriter/WebDevHelperASP.NETAJAX_8E6C/webdevhelper1%5B6%5D.jpg" width="720" border="0" /> </p>
<p>&nbsp;</p>
<p><strong><font size="3">在ASP.NET AJAX中使用WebDevHelper查看JSON信息</font></strong></p>
<p>双击Log窗口中某一条对服务器端Web Method异步调用的记录，将弹出这一次HTTP请求的详细信息窗口。其中可以选择以JSON模式查看HTTP Response信息，显得更加直观清晰：</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="609" alt="" src="http://www.cnblogs.com/images/cnblogs_com/dflying/WindowsLiveWriter/WebDevHelperASP.NETAJAX_8E6C/JSONViewer%5B5%5D.png" width="708" border="0" /> </p>
<p>&nbsp;</p>
<p><strong><font size="3">总结</font></strong></p>
<p>除了UpdatePanel和JSON两种模式显示的HTTP Response，这个WebDevHelper在其他方面确实乏善可陈。其他集成的东西似乎都如鸡肋一般：HTTP Trace/Debug没有Fiddler强，DOM查看也没有DevToolbar厉害&#8230;&#8230;但有了这两个亮点，也不失为一个非常有用的工具。</p>
 <img src ="http://www.cnblogs.com/AlexSky/aggbug/1218170.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42144/" target="_blank">[新闻]千亿美元市值榜:微软居首移动第二 诺基亚退榜</a>]]></description></item><item><title>深入浅出JSON(转载) </title><link>http://www.cnblogs.com/AlexSky/archive/2008/06/10/1216608.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Tue, 10 Jun 2008 04:19:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2008/06/10/1216608.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/1216608.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2008/06/10/1216608.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/1216608.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/1216608.html</trackback:ping><description><![CDATA[<strong>JSON定义<br />
<br />
</strong>&nbsp;&nbsp;&nbsp; JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式，易于阅读和编写，同时也易于机器解析和生成。它基于ECMA262语言规范（1999-12第三版）中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式，但是也使用了类C语言（包括C， C++， C#， Java， JavaScript， Perl， Python等）的习惯，这些特性使JSON成为理想的数据交换格式。
<p>JSON的结构基于下面两点<br />
<ul>
    <li><strong>1. "名称/值"对的集合</strong> 不同语言中，它被理解为对象(object)，记录(record)，结构(struct)，字典(dictionary)，哈希表(hash table)，键列表(keyed list)等
    <li><strong>2. 值的有序列表</strong> 多数语言中被理解为数组(array) </li>
</ul>
<strong>JSON使用</strong>：<br />
<br />
JSON以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量，那么该变量会变成一个对象引用，而这个对象就是字符串所构建出来的，好像有点拗口，我们还是用实例来说明。
<p>&nbsp;这里假设我们需要创建一个User对象，并具有以下属性</p>
<li>用户ID
<li>用户名
<li>用户Email
<p>您可以使用以下JSON形式来表示User对象：<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">};</span></div>
<p><br />
然后如果把这一字符串赋予一个JavaScript变量，那么就可以直接使用对象的任一属性了。</p>
<p>完整代码:<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&lt;</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000">var&nbsp;User&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">};<br />
alert(User.Name);<br />
</span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
<p><br />
实际使用时可能更复杂一点，比如我们为Name定义更详细的结构，使它具有FirstName和LastName：</p>
<pre class="codePanel">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Zhu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">}</span></div>
</pre>
<p>完整代码:</p>
<pre class="codePanel">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&lt;</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000">var&nbsp;User&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Zhu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">};<br />
alert(User.Name.FirstName);<br />
</span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
</pre>
<p>现在我们增加一个新的需求，我们某个页面需要一个用户列表，而不仅仅是一个单一的用户信息，那么这里就需要创建一个用户列表数组。<br />
下面代码演示了使用JSON形式定义这个用户列表：
<pre class="codePanel">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">[<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Zhu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">},<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">12</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Jeffrey</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Richter</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">xxx◎xxx.com</span><span style="color: #800000">"</span><span style="color: #000000">},<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">13</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Scott</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Gu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">xxx2◎xxx2.com</span><span style="color: #800000">"</span><span style="color: #000000">}<br />
]</span></div>
</pre>
<p><br />
完整代码:
<pre class="codePanel">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&lt;</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
var&nbsp;UserList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;[<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">11</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Truly</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Zhu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">zhuleipro◎hotmail.com</span><span style="color: #800000">"</span><span style="color: #000000">},<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">12</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Jeffrey</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Richter</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">xxx◎xxx.com</span><span style="color: #800000">"</span><span style="color: #000000">},<br />
{</span><span style="color: #800000">"</span><span style="color: #800000">UserID</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800080">13</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">:{</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Scott</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">LastName</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">Gu</span><span style="color: #800000">"</span><span style="color: #000000">},&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Email</span><span style="color: #800000">"</span><span style="color: #000000">:</span><span style="color: #800000">"</span><span style="color: #800000">xxx2◎xxx2.com</span><span style="color: #800000">"</span><span style="color: #000000">}<br />
];<br />
alert(UserList[</span><span style="color: #800080">0</span><span style="color: #000000">].Name.FirstName);<br />
</span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
</pre>
<p>事实上除了使用"."引用属性外，我们还可以使用下面语句：</p>
<pre class="codePanel">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">alert(UserList[</span><span style="color: #800080">0</span><span style="color: #000000">][</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">][</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">]);&nbsp;或者&nbsp;alert(UserList[</span><span style="color: #800080">0</span><span style="color: #000000">].Name[</span><span style="color: #800000">"</span><span style="color: #800000">FirstName</span><span style="color: #800000">"</span><span style="color: #000000">]);&nbsp;</span></div>
</pre>
<br />
<p>现在读者应该对JSON的使用有点认识了，归纳为以下几点：</p>
<li>对象是属性、值对的集合。一个对象的开始于&#8220;{&#8221;，结束于&#8220;}&#8221;。每一个属性名和值间用&#8220;:&#8221;提示，属性间用&#8220;,&#8221;分隔。
<li>数组是有顺序的值的集合。一个数组开始于"["，结束于"]"，值之间用","分隔。
<li>值可以是引号里的字符串、数字、true、false、null，也可以是对象或数组。这些结构都能嵌套。
<li>字符串和数字的定义和C或Java基本一致。
<p><strong>小节</strong>：<br />
<br />
本文通过一个实例演示，初步了解了JSON 的强大用途。可以归结如下： </p>
<li>JSON 提供了一种优秀的面向对象的方法，以便将元数据缓存到客户机上。
<li>JSON 帮助分离了验证数据和逻辑。
<li>JSON 帮助为 Web 应用程序提供了 Ajax 的本质。
<p>参考资料：<br />
<a href="http://www.json.org/">http://www.json.org/</a><br />
<font face="Verdana"><a href="http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html"><font face="Verdana">http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html</font></a><br />
<font face="Verdana"><a href="http://www.json.org/json-zh.html"><font face="Verdana">http://www.json.org/json-zh.html</font></a></font></font></p>
</li>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/1216608.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42142/" target="_blank">[新闻]Google申请“海上数据中心”专利 可能付诸行动</a>]]></description></item><item><title>关于AJAX的几个重要概念 </title><link>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216320.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Mon, 09 Jun 2008 11:01:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216320.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/1216320.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216320.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/1216320.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/1216320.html</trackback:ping><description><![CDATA[<h2>AJAX / AJAX框架 / AJAX.NET (Professional) / ASP.NET AJAX</h2>
<p>　　这是我们见过的混淆最多的一组概念。不过当去年AJAX技术如火如荼，AJAX框架层出不穷，而微软又推出ASP.NET AJAX框架之后，这四个概念之间的混淆也愈发严重起来了。我们经常能看到这样的问题：</p>
<ul>
    <li>我在用AJAX技术时不知道怎么在UpdatePanel里&#8230;&#8230;
    <li>我用AJAX.NET框架调用Web Service时&#8230;&#8230; </li>
</ul>
<p>　　这是非常典型的概念混淆，上面两句话的AJAX与AJAX.NET都应该使用ASP.NET AJAX替换。我们在学习AJAX相关技术时需要理解以下概念：</p>
<p>　　<strong>AJAX</strong>是Asynchronous JavaScript and XML缩写。这个概念代表的是一种技术，当您在说&#8220;我在项目中使用了AJAX技术时&#8221;，只是代表了您使用客户端XMLHttpRequest对象与服务器端进行异步通信。不过因为随着AJAX技术的运用往往会带来丰富的客户端效果，因此对AJAX技术的广义理解也可以认为这是一种操作客户端DOM而带来丰富效果的技术。</p>
<p>　　<strong>AJAX框架</strong>是一套辅助开发人员使用AJAX技术的代码包（库，etc.）。一个AJAX框架的目的一般是对XMLHttpRequest对象的使用进行封装，并提供一些操作DOM元素或者实现特殊效果的&#8220;捷径&#8221;。成熟的AJAX框架有很多，它们可以被分为&#8220;以客户端为中心&#8221;和&#8220;面向特定服务器技术&#8221;两大类。前者的优秀代表有（排名不分先后）：<a href="http://www.prototypejs.org/">Prototype</a>、<a href="http://jquery.com/">jQuery</a>、<a href="http://mootools.net/">Mootools</a>、<a href="http://developer.yahoo.com/yui/">YUI</a>、<a href="http://dojotoolkit.org/">Dojo</a>、<a title="EXTJS" href="http://extjs.com/">EXTJS 2.0</a>等等；而后者的典型代表有<font face="Verdana"><a href="http://anthem-dot-net.sourceforge.net/"><font face="Verdana">Anthem.NET</font></a></font>、AJAX.NET、<font face="Verdana"><a href="http://www.magicajax.net/"><font face="Verdana">MagicAjax.NET</font></a></font>和微软ASP.NET AJAX(最初为Atlas)(<a href="http://www.dotnettools.org/Blog/article.asp?id=95">这几个对比参考</a>)；当然，也有优秀的AJAX框架面向其他服务器技术，呵呵这个我还没有了解。</p>
<p>　　<strong>AJAX.NET (Professional)</strong>是ASP.NET平台上著名的AJAX框架，诞生于2005年2月（虽然正式命名为AJAX.NET则是在两个月之后），作者为<a href="http://weblogs.asp.net/mschwarz/archive/2008/01/04/future-of-ajax-net-professional.aspx">Michael Schwarz</a>。同年10月，Michael为AJAX.NET提供了更丰富的功能（主要是安全性方面），并将其改名为AJAX.NET Professional。AJAX.NET提供的最主要的（也是唯一）的功能就是异步调用服务器端方法，可谓非常纯粹的&#8220;基于数据&#8221;的AJAX使用方式。这个框架是一个个人作品，有支持.NET 1.1和2.0的版本，它并不属于微软官方，目前已经停止更新。</p>
<p>　　<strong>ASP.NET AJAX</strong>的Code Name为&#8220;Atlas&#8221;，在CTP向Beta版转移时曾经发生过翻天覆地的变化。ASP.NET AJAX中包含了UpdatePanel等控件，可以非常透明地为现有的ASP.NET WebForms应用程序添加AJAX效果。此外还提供了客户端异步调用Web Services的方法，使开发人员也能够使用面向数据的方式使用AJAX技术。值得一提的是ASP.NET AJAX的&#8220;附属品&#8221;相当丰富。例如ASP.NET AJAX名为&#8220;Microsoft AJAX Library&#8221;的客户端部分是一个纯客户端AJAX框架，提供了面向对象类型系统、浏览器兼容层、异步通信层等多种基础组件；ASP.NET AJAX的开源扩展包&#8220;AJAX Control Toolkit&#8221;包含了数十个可以直接使用的AJAX服务器端控件，这样开发人员能够轻松地添加丰富的客户端效果。同时，官方还为ASP.NET AJAX提供了&#8220;非正式&#8221;地扩展包，其中的History等优秀控件也将加入未来版本的ASP.NET AJAX框架中。ASP.NET AJAX是官方出品的AJAX框架，目前已经被集成到ASP.NET 3.5中去了，因此其版本号也从ASP.NET AJAX 1.0一下子&#8220;跃升为&#8221;ASP.NET AJAX 3.5。如果您看到了这些版本号也请不要疑惑，其实ASP.NET AJAX 3.5相对于ASP.NET AJAX 1.0来说只是修补了一些细小bug，几乎没有任何变化。<br />
</p>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/1216320.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42141/" target="_blank">[新闻]用Google Earth实时追踪人造卫星</a>]]></description></item><item><title>XMLhttp学习应用</title><link>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216300.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Mon, 09 Jun 2008 09:59:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216300.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/1216300.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2008/06/09/1216300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/1216300.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/1216300.html</trackback:ping><description><![CDATA[Client.htm页面代码如下:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html&nbsp;</span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://www.w3.org/1999/xhtml"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">客户端</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_230_647_Open_Image" onclick="this.style.display='none'; Codehighlighter1_230_647_Open_Text.style.display='none'; Codehighlighter1_230_647_Closed_Image.style.display='inline'; Codehighlighter1_230_647_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_230_647_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_230_647_Closed_Text.style.display='none'; Codehighlighter1_230_647_Open_Image.style.display='inline'; Codehighlighter1_230_647_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #0000ff">&gt;</span><span id="Codehighlighter1_230_647_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_230_647_Open_Text"><span style="color: #000000; background-color: #f5f5f5"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;XmlHttp&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">new</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;ActiveXObject(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">Microsoft.XMLhttp</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;sendAJAX()<br />
<img id="Codehighlighter1_311_428_Open_Image" onclick="this.style.display='none'; Codehighlighter1_311_428_Open_Text.style.display='none'; Codehighlighter1_311_428_Closed_Image.style.display='inline'; Codehighlighter1_311_428_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_311_428_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_311_428_Closed_Text.style.display='none'; Codehighlighter1_311_428_Open_Image.style.display='inline'; Codehighlighter1_311_428_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_311_428_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_311_428_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlHttp.Open(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">POST</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">,</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">receive.aspx</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">,</span><span style="color: #0000ff; background-color: #f5f5f5">true</span><span style="color: #000000; background-color: #f5f5f5">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlHttp.send(</span><span style="color: #0000ff; background-color: #f5f5f5">null</span><span style="color: #000000; background-color: #f5f5f5">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlHttp.onreadystatechange</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">ServerProcess;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;ServerProcess()<br />
<img id="Codehighlighter1_459_610_Open_Image" onclick="this.style.display='none'; Codehighlighter1_459_610_Open_Text.style.display='none'; Codehighlighter1_459_610_Closed_Image.style.display='inline'; Codehighlighter1_459_610_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_459_610_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_459_610_Closed_Text.style.display='none'; Codehighlighter1_459_610_Open_Image.style.display='inline'; Codehighlighter1_459_610_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_459_610_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_459_610_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;(XmlHttp.readystate</span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #000000; background-color: #f5f5f5">4</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">||</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;XmlHttp.readystate</span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #000000; background-color: #f5f5f5">'complete')<br />
<img id="Codehighlighter1_528_606_Open_Image" onclick="this.style.display='none'; Codehighlighter1_528_606_Open_Text.style.display='none'; Codehighlighter1_528_606_Closed_Image.style.display='inline'; Codehighlighter1_528_606_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_528_606_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_528_606_Closed_Text.style.display='none'; Codehighlighter1_528_606_Open_Image.style.display='inline'; Codehighlighter1_528_606_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_528_606_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_528_606_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('nameList').innerHTML&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">XmlHttp.responsetext;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setInterval('sendAJAX()',</span><span style="color: #000000; background-color: #f5f5f5">1000</span><span style="color: #000000; background-color: #f5f5f5">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">div&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="nameList"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<br />
Receive.aspx CodeBehind代码:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Page_Load(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br />
<img id="Codehighlighter1_57_372_Open_Image" onclick="this.style.display='none'; Codehighlighter1_57_372_Open_Text.style.display='none'; Codehighlighter1_57_372_Closed_Image.style.display='inline'; Codehighlighter1_57_372_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_57_372_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_57_372_Closed_Text.style.display='none'; Codehighlighter1_57_372_Open_Image.style.display='inline'; Codehighlighter1_57_372_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_57_372_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_57_372_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PerformanceCounter&nbsp;myMemory&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PerformanceCounter();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myMemory.CategoryName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Memory</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myMemory.CounterName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Available&nbsp;KBytes</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;txtResult&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">--&gt;当前可用内存：</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">myMemory.NextValue().ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">KB</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(DateTime.Now.ToLongTimeString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;txtResult);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
 <img src ="http://www.cnblogs.com/AlexSky/aggbug/1216300.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42141/" target="_blank">[新闻]用Google Earth实时追踪人造卫星</a>]]></description></item><item><title>Visual Studio 2005中的Windows Mobile模拟器</title><link>http://www.cnblogs.com/AlexSky/archive/2007/03/07/667071.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Wed, 07 Mar 2007 09:24:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2007/03/07/667071.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/667071.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2007/03/07/667071.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/667071.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/667071.html</trackback:ping><description><![CDATA[<p><span>1</span><span>、在<span>B</span>机上安装设备仿真程序</span></p>
<p><span>（<span>1</span>）先确保<span>B</span>机上已安装了<span>Windows Install 3.0</span>以上版本。</span></p>
<p align=left><span>（<span>2</span>）<span>Visual Studio 2005&nbsp; </span>安装光盘上的<span> wcu\ARM\vs_emulator.exe</span>是设备仿真程序的安装向导，双击运行，然后按照提示进行操作。设备仿真程序默认安装在<span>C:\Program Files\Microsoft Device Emulator\1.0</span>文件夹下。<span>DeviceEmulator.exe</span>是设备仿真器程序，<span>dvcemumanager.exe</span>是设备仿真器管理器。</span></p>
<p>&nbsp;</p>
<p><span>2</span><span>、将<span>A</span>机上的内核映像文件复制到<span>B</span>机</span></p>
<p><span>设备仿真程序要模拟哪一种设备，就需要用到这种设备的内核映像文件（扩展名为<span>bin</span>）。在<span>B</span>机<span>C:\Program Files\Microsoft Device Emulator\1.0</span>文件夹下新建一个<span>images</span>文件夹，并根据需要将下面<span>A</span>机中的映像文件复制到这里。</span></p>
<p>&nbsp;</p>
<p align=left><span>Pocket PC 2003 SE</span><span>的映像文件默认安装在<span>C:\Program Files\Microsoft Visual Studio 8\SmartDevices\Emulators\Images\PocketPC\2003\2052</span>文件夹下，文件名是<span>PPC_2003_SE_CHS_ARMv4.bin</span>。</span></p>
<p><span>Pocket PC 2003 SE VGA</span><span>的映像文件默认安装在<span>C:\Program Files\Microsoft Visual Studio 8\SmartDevices\Emulators\Images\PocketPC\2003\VGAPortrait\2052</span>文件夹下，文件名<span>PPC_2003_SE_VGA_CHS_ARMv4.bin</span>。</span></p>
<p><span><span>Smartphone</span></span><span> 2003 SE</span><span>的映像文件默认安装在<span>C:\Program Files\Microsoft Visual Studio 8\SmartDevices\Emulators\Images\Smartphone\2003\2052</span>文件夹下，文件名<span>SP_2003_SE_CHS_ARMv4.bin</span>。</span></p>
<p><span><span>Smartphone</span></span><span> 2003 SE QVGA</span><span>的映像文件默认安装在<span>C:\Program Files\Microsoft Visual Studio 8\SmartDevices\Emulators\Images\Smartphone\2003\QVGA\2052</span>文件夹下，文件名<span>SP_2003_SE_QVGA_CHS_ARMv4.bin</span>。</span></p>
<p>&nbsp;</p>
<p><span>因为我在<span>A</span>机中安装了<span>Windows Mobile 5.0 Pocket PC SDK</span>和<span>Windows Mobile 5.0 <span>Smartphone</span> SDK</span>，所以也可以找到相应映像文件。</span></p>
<p><span>中文<span>CHS Windows Mobile 5.0 Pocket PC</span>的映像文件默认安装在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Emulator Images for Pocket PC - CHS\Deviceemulation\0804</span>文件夹下。</span></p>
<p><span>中文<span>CHS Windows Mobile 5.0 <span>Smartphone</span></span>的映像文件默认安装在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Emulator Images for <span>Smartphone</span> - CHS\Deviceemulation\0804</span>文件夹下。</span></p>
<p><span>英文<span>Windows Mobile 5.0 Pocket PC</span>的映像文件默认安装在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Deviceemulation\0409</span>文件夹下。</span></p>
<p><span>英文<span>Windows Mobile 5.0 <span>Smartphone</span></span>的映像文件默认安装在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 <span>Smartphone</span> SDK\Deviceemulation\0409</span>文件夹下。</span></p>
<p>&nbsp;</p>
<p><span>3</span><span>、将<span>A</span>机上的外观文件复制到<span>B</span>机</span></p>
<p><span>在设备仿真程序运行时，还可以为仿真程序指定外观文件，以获得更逼真的效果。每一种外观由三个<span>bmp</span>或<span><span>png</span></span>文件和一个<span>xml </span>文件组成，并且保存在同一个文件夹下。<span>xml</span>文件是外观定义文件，三个<span>bmp</span>或<span><span>png</span></span><span> </span>图像文件分别显示仿真程序的默认外观、所有按钮均为按下状态的仿真程序外观和由一种颜色填充的每个按钮的区域。</span></p>
<p><span>在<span> B</span>机的<span>C:\Program Files\Microsoft Device Emulator\1.0</span>文件夹下新建一个<span>skins</span>文件夹，并将<span>A</span>机中相应的外观文件复制到这里。</span></p>
<p>&nbsp;</p>
<p><span>PocketPC2003</span><span>和<span><span>Smartphone</span></span><span> 2003</span>的外观文件在<span>C:\Program Files\Microsoft Visual Studio 8\SmartDevices\Skins</span>文件夹中。</span></p>
<p><span>Windows Mobile 5.0 Pocket PC</span><span>的外观文件在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\<span>Deviceemulation</span></span>文件夹下除<span>0409</span>子文件夹外其它的文件夹中。</span></p>
<p><span>Windows Mobile 5.0 <span>Smartphone</span></span><span>的外观文件在<span>C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 <span>Smartphone</span> SDK\<span>Deviceemulation</span></span>文件夹下除<span>0409</span>子文件夹外其它的文件夹中。</span></p>
<p>&nbsp;</p>
<p><span>4</span><span>、在<span>B</span>机上安装<span><span>Microsfot</span></span><span> ActiveSync 4.2</span>简体中文版</span></p>
<p><span>这主要是为了便于设备仿真程序与<span>B</span>机之间进行数据同步。</span></p>
<p>&nbsp;</p>
<p><span>5</span><span>、在<span>B</span>机上创建桌面快捷方式</span></p>
<p align=left><span>（<span>1</span>）为<span>C:\Program Files\Microsoft Device Emulator\1.0\dvcemumanager.exe</span>创建桌面快捷方式&#8220;设备仿真器管理器&#8221;。</span></p>
<p><span>（<span>2</span>）<span>C:\Program Files\Microsoft Device Emulator\1.0</span>文件夹下<span>DeviceEmulator.exe</span>是设备仿真器程序，应该带参数运行。</span></p>
<p><span>主要开关参数如下：</span></p>
<p><span><span>os_image_file_name</span></span><span>：指定仿真程序要使用的内核映像的路径和文件名称（<span>*.bin </span>或<span> *.nb0</span>）。除非使用<span> /s </span>开关启动，否则为必需的参数。</span></p>
<p><span>/skin <span>skin_file_name</span></span><span>：加载指定的外观文件。</span></p>
<p><span>/s filename</span><span>：指定保存状态文件。如果没有指定任何<span> ROM </span>映像，则必须有<span> /s filename</span>，仿真程序将从指定的保存状态文件还原。当该仿真程序退出时，它会将新状态保存到保存状态文件的最前面。</span></p>
<p><span>只要弄清楚了某种设备的映像文件和对应的外观文件，就可以创建该设备仿真程序的快捷方式。</span></p>
<p><span>以<span>Pocket PC 2003 SE</span>为例，先为</span><span>DeviceEmulator.exe</span><span>创建桌面快捷方式&#8220;</span><span>Pocket PC 2003 SE</span><span>&#8221;，然后修改该快捷方式的&#8220;目标&#8221;为：</span></p>
<p><span>"C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" images\PPC_2003_SE_CHS_ARMv4.bin /skin skins\PocketPC_2003\2052\PocketPC_2003_Skin.xml </span></p>
<p><span>(3)</span><span>如果弄不清映像文件与外观文件的对应关系，可打开<span>A</span>机的<span>Visual Studio 2005</span>查看。</span></p>
<p><span>依次点击&#8220;</span><span>工具&#8221;—<span>&gt;</span>&#8220;选项&#8221;—<span>&gt;</span>&#8220;设备工具&#8221;—<span>&gt;</span>&#8220;设备&#8221;，见图<span>1</span>：<span> </span></span></p>
<p><img height=356 alt="" src="http://www.cnblogs.com/images/cnblogs_com/wenxinwukui/image001.png" width=644 border=0></p>
<p align=center><span>图</span><span>1</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span>选中某一设备，点击&#8220;属性&#8221;按钮，见图<span>2</span>：</span></p>
<p><img height=289 alt="" src="http://www.cnblogs.com/images/cnblogs_com/wenxinwukui/image002.png" width=438 border=0></p>
<p align=center><span>图</span><span>2</span></p>
<p>&nbsp;</p>
<p><span>点击&#8220;仿真器选项&#8221;按钮，可看到该种设备的映像文件名称，见图<span>3</span>：</span></p>
<p><img height=340 alt="" src="http://www.cnblogs.com/images/cnblogs_com/wenxinwukui/image003.png" width=528 border=0></p>
<p align=center><span>图</span><span>3</span></p>
<p>&nbsp;</p>
<p><span>在&#8220;显示&#8221;选项卡中，可看到对应的外观文件，见图<span>4</span>：</span></p>
<p><img height=340 alt="" src="http://www.cnblogs.com/images/cnblogs_com/wenxinwukui/image004.png" width=528 border=0></p>
<p align=center><span>图</span><span>4</span></p>
<p>&nbsp;</p>
<p><span>（<span>4</span>）如果在<span>B</span>机桌面了创建了多个设备仿真程序的快捷方式方式，会显得比较凌乱，应该把它们组织到程序菜单中比较好。</span></p>
<p>&nbsp;</p>
<p><span>好了，客户的电脑上也有了<span><span>Pocekt</span></span><span>&nbsp;PC 2003</span>模拟器。什么时候想测试程序，只要点击菜单启动模拟器，再通过<span>ActiveSync</span>将应用程序<span>布署</span>到模拟器上运行就行了。但每次测试时，都要部署一遍，并且客户对电脑操作又不太熟练，感觉还是有点儿麻烦。因此，客户又提出来，能不能再简单点儿呢？</span></p>
<p><span>答案是肯定的。只要用上前面提到的&#8220;<span>/s</span>&#8221;开关参数，就能解决这个问题。</span></p>
<p><span>6</span><span>、将<span>A</span>机上的设备仿真程序保存状态文件复制到<span>B</span>机</span></p>
<p><span>设备仿真程序使用<span> .<span>dess</span></span>扩展名的文件，来保存设备仿真程序中所有的<span> RAM</span>、<span>ROM </span>和设置信息。因此，<span>.<span>dess</span> </span>文件是还原保存状态时必需的唯一文件。我在<span>A</span>机上调试程序时，会将程序部署到<span>A</span>机上的设备仿真程序中。调试通过后，关闭设备仿真程序时，系统询问&#8220;退出之前保存仿真程序状态吗？&#8221;，此时选择&#8220;是&#8221;，将产生一个保存状态文件，默认情况<span>下位于</span><span>C:\Documents and Settings\&lt;username&gt;\Application Data\Microsoft\Device Emulator </span>下，文件名为<span>{B<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="22" UnitName="C">22C</st1:chmetcnv><st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="75" UnitName="F">75F</st1:chmetcnv>5-ABFC-4ca8<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="954" UnitName="F">-954F</st1:chmetcnv>-7D4AB28CF096}.<span>dess</span></span>。保存状态文件的文件名是仿真程序的当前虚拟机标识符<span> (VMID)</span>，在不同的机器上会有所不同。</span></p>
<p><span>(1)</span><span>在<span>B</span>机<span>D</span>盘上新建一个<span>Emulator</span>文件夹。</span></p>
<p><span>(2)</span><span>将<span>A</span>机上的<span>{B<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="22" UnitName="C">22C</st1:chmetcnv><st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="75" UnitName="F">75F</st1:chmetcnv>5-ABFC-4ca8<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="954" UnitName="F">-954F</st1:chmetcnv>-7D4AB28CF096}.<span>dess</span></span>复制到<span>B</span>机的<span>D:\ Emulator</span>文件夹下。</span></p>
<p><span>(3)</span><span>在<span>B</span>机的桌面上创建快捷方式&#8220;我的<span><span>Pocekt</span></span><span> PC <st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2003" UnitName="&#8221;">2003&#8221;</st1:chmetcnv>，修改快捷方式的目标为：</span></span></p>
<p><span>"C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" /s d:\emulator\{B<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="22" UnitName="C">22C</st1:chmetcnv><st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="75" UnitName="F">75F</st1:chmetcnv>5-ABFC-4ca8<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="954" UnitName="F">-954F</st1:chmetcnv>-7D4AB28CF096}.<span>dess</span></span></p>
<p><span>这样，客户只要双击桌面上的&#8220;我的<span><span>Pocekt</span></span><span> PC <st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2003" UnitName="&#8221;">2003&#8221;</st1:chmetcnv>，就可直接测试程序，无需通过ActiveSync</span>重新<span>布署</span>了。而我修改程序后，只要将最新的保存状态文件传给客户，覆盖掉原来的文件即可。以后双方交流的时候，无需见面，在网上就可以进行了。</span></p>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/667071.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42140/" target="_blank">[新闻]传IBM将以35亿美元至40亿美元收购北电</a>]]></description></item><item><title>各类人士都应购买重大疾病险</title><link>http://www.cnblogs.com/AlexSky/archive/2006/11/18/564219.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Fri, 17 Nov 2006 16:35:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2006/11/18/564219.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/564219.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2006/11/18/564219.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/564219.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/564219.html</trackback:ping><description><![CDATA[<span>来源：新快报&nbsp;时间：<span>2005-7-14&nbsp; 《北京保险网》编辑</span></span>
<p align=left>&nbsp;&nbsp;&nbsp; <span>&nbsp;参加社保者在三级医院住院治疗，<span>1</span>万元费用中个人须承担<span>36%</span>！</span>
<p align=left><font size=2><span>&nbsp;&nbsp;&nbsp; </span></font><span>新快报记者 叶志明 </span></p>
<p align=left><font size=2><span>&nbsp;&nbsp;&nbsp; </span></font><span>就目前情况而言，广州市民的医保情况主要分为三类：一是已纳入医保体系的市民；二是未参加医保的从事个体经济组织业主及其职工、灵活就业人员和非广州城镇户籍从业人员；三是尚没有医保改革，仍享受医疗费用实报实销（或按比例报销）的人员。</span></p>
<p align=left><font size=2><span>&nbsp;&nbsp;&nbsp; </span></font><span>针对上述情况，保险业内人士建议，不同类型的人要根据自己不同的医疗保障和收入情况，作出不同的保险规划，其中重大疾病险是所有市民必选；费用型医疗险、住院津贴险则根据各人实际情况来定。而没有医疗保障的市民，应加大对医疗险产品的投入，支出额至少为年收入的<span>10%</span>至<span>15%</span>。</span></p>
<p align=left><span>　<strong>　有社保医疗：重大疾病<span>+</span>住院津贴险</strong></span></p>
<p align=left><span>　　参加社保医疗的市民已拥有了基本的医疗保障，在计划投保商业保险时，可根据自身情况及医保的保障内容设计符合自身需求的保障计划。</span></p>
<p align=left><span>　　根据医保政策，市民在门诊治疗时，所花费用需自行支付或用医保卡支付，医保将不予报销；住院治疗时，对于起付线以下部分，由病人自行支付。</span></p>
<p align=left><span>　　医院等级越高，起付线越高（如现时三级医院起付线为<span>2000</span>元），个人负担越高。超出起付线的费用，将根据医保政策对符合规定部分按比例予以报销，三级医院报销比例为<span>80%</span>。因此，在拥有医保的同时，个人仍须承担一定比例的医疗费用支出。以广州市<span>2005</span>年第一季度平均住院花费约<span>10000</span>元为例（假定<span>10000</span>的花费都符合医保报销规定），如在三级医院治疗，则个人须自行承担（<span>2000+8000</span>&#215;<span>20</span>％＝）<span>3600</span>元的医疗费用，个人最低承担比例达<span>36%</span>。由于医保政策对药物及治疗用品都有较为严格的限定，一旦不幸罹患重大疾病住院，所需要的医疗费用较大，市民自负的治疗费用则更高。</span></p>
<p align=left><font size=2><span>&nbsp;&nbsp;&nbsp; </span></font><span>健康险专家认为，有医保的市民，应首先购买重大疾病类健康保险和津贴型的保险。如&#8220;平安康顺女性重大疾病险&#8221;，承保<span>28</span>种重大疾病，一旦不幸罹患所承保的任意一种重疾，便可获得赔偿金。&#8220;平安个人住院安心保险&#8221;将根据住院日数给付津贴，与实际花费无关，可作为住院造成收入损失的补偿。</span></p>
<p align=left><strong><span>　　完全无保障：意外<span>+</span>重大疾病<span>+</span>住院津贴险</span></strong></p>
<p align=left><span>　　如果目前市民没有任何医疗保障，当务之急是选择投保意外医疗保险。选择时首先需根据自身收入来定，但应投保身故、残疾赔偿额度相当于年收入<span>5-10</span>倍的意外保险，降低意外造成重大损失时对家庭经济造成的影响，并通过购买补偿性的利益分散住院医疗费用负担。</span></p>
<p align=left><span>　<strong>　仍享受公费医疗：重大疾病险</strong></span></p>
<p align=left><span>　　仍享受公费医疗的市民，相对上述人士而言保障较多，因此所购买的主要以重大疾病险、住院津贴险为主，且购买的比例也可以比上述人士的少。购买这两个险种主要是保障市民在患重大疾病时的医疗费和医院床位补贴。单位福利或公费医疗的报销规定，会因单位、行业的不同可能有所区别。但基本报销模式都与社保医疗类似。因此此类市民可参考社保医疗的投保方案，根据自身情况加以调整。总之，给付性的利益（如住院津贴险）及重大疾病保障都是购买的首选。</span></p>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/564219.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42139/" target="_blank">[新闻]Google卫星已经开始工作</a>]]></description></item><item><title>如何选择健康保险</title><link>http://www.cnblogs.com/AlexSky/archive/2006/11/17/564178.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Fri, 17 Nov 2006 15:29:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2006/11/17/564178.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/564178.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2006/11/17/564178.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/564178.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/564178.html</trackback:ping><description><![CDATA[<p><font size=2><font color=#0000ff><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在选择健康保险的时候，重大疾病保险应该是每个家庭的首选。其次要考虑的是应该拿出多少钱来投保。 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一般的原则是，每年的医疗保险费是年收入的7％至12％，如果没有社会医疗保障的话，这个比例可以适当地提高一些。比较理想的险种搭配是：有社会医疗保障的，就选择重大疾病保险＋住院补贴保险；没有医疗保障的，就选择重大疾病保险＋住院费用保险。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此外，为了能选择更贴切的产品，往往需要先和有经验的、专业的保险代理人进行良好的沟通。投保重疾保险等健康险时，尽量选择缴费期长的形式。一是因为缴费期长，虽然所付总额可能略多些，但每次缴费较少，不会给家庭带来太大的负担，加之利息等因素，实际成本不一定高于一次缴清的付费方式。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保险资深人士认为，选择重疾险时最重要的是考察条款中是否包含了常见的心血管、器官性和老年性疾病，有了这三大类，基本上就满足了一般投保人的保障需求。另外，还要注意为自己度身订做，比如儿童购买重疾险一定要其中保有白血病；女性可考虑购买涵盖了乳房癌等女性多发病种的重疾险等。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10万到20万元保额较合适<br>　　适当购买重大病险的窍门还在于了解目前患重疾之后所需花费的医疗费用。根据最近的统计，重大疾病的治疗费用少则七八万元，多则十几万元甚至更高，因此购买10万元到20万元的保额比较合适，低于10万的保障功能太弱，而超过30万元对普通大众来说也没有必要。当然，每隔三五年，投保者还可以打开自家的保单检查一下，看看是否有必要追加保额，根据家庭人员和经济状况的变化做一些适当的调整。</span></font></font><span><font color=#0000ff size=2><span style="FONT-SIZE: 10pt"><font style="COLOR: #0000ff" color=#000000 size=3></font></span></font></span></p>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/564178.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42138/" target="_blank">[新闻]Chrome又曝漏洞 “保存为”功能“引狼入室”</a>]]></description></item><item><title>男人必须明白的22个道理</title><link>http://www.cnblogs.com/AlexSky/archive/2006/11/13/559081.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Mon, 13 Nov 2006 05:07:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2006/11/13/559081.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/559081.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2006/11/13/559081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/559081.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/559081.html</trackback:ping><description><![CDATA[摘要: &nbsp;&nbsp;<a href='http://www.cnblogs.com/AlexSky/archive/2006/11/13/559081.html'>阅读全文</a><img src ="http://www.cnblogs.com/AlexSky/aggbug/559081.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42137/" target="_blank">[新闻]测试版Office Live Workspace发布6月内用户数量达百万</a>]]></description></item><item><title>.NET设计模式（2）：单件模式（Singleton Pattern） </title><link>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558237.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Sun, 12 Nov 2006 04:02:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558237.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/558237.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/558237.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/558237.html</trackback:ping><description><![CDATA[摘要: 概述 Singleton模式要求一个类有且仅有一个实例，并且提供了一个全局的访问点。这就提出了一个问题：如何绕过常规的构造器，提供一种机制来保证一个类只有一个实例？客户程序在调用某一个类时，它是不会考虑这个类是否只能有一个实例等问题的，所以，这应该是类设计者的责任，而不是类使用者的责任。 从另一个角度来说，Singleton模式其实也是一种职责型模式。因为我们创建了一个对象，这个对象扮演了独一无二&nbsp;&nbsp;<a href='http://www.cnblogs.com/AlexSky/archive/2006/11/12/558237.html'>阅读全文</a><img src ="http://www.cnblogs.com/AlexSky/aggbug/558237.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42136/" target="_blank">[新闻]2008年9月8日科技博客精选</a>]]></description></item><item><title>.NET设计模式(1)：模版方法（Template Method） </title><link>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558178.html</link><dc:creator>Alex’Sky</dc:creator><author>Alex’Sky</author><pubDate>Sun, 12 Nov 2006 02:39:00 GMT</pubDate><guid>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558178.html</guid><wfw:comment>http://www.cnblogs.com/AlexSky/comments/558178.html</wfw:comment><comments>http://www.cnblogs.com/AlexSky/archive/2006/11/12/558178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/AlexSky/comments/commentRss/558178.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/AlexSky/services/trackbacks/558178.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">摘要：<span lang=EN-US>Template Method</span>模式是比较简单的设计模式之一，但它却是代码复用的一项基本的技术，在类库中尤其重要。在没有认识该设计模式时，我们在不知不觉中已经使用了该模式。呵呵 </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><span lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">主要内容<span lang=EN-US><o:p></o:p></span></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><span lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">1</span><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">．概述<br></span><span lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">2</span><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">．<span lang=EN-US>Template Method</span>解说<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><span lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">3</span><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">．<span lang=EN-US>.NET</span>中的<span lang=EN-US>Template Method</span>模式<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%"><span lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">4</span><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">．适用性及实现要点<br></span></p>
</span><span style="FONT-SIZE: 10pt; LINE-HEIGHT: 200%; FONT-FAMILY: 宋体">
<p><strong><span>概述<br></span></strong><span>化一直以来都是软件设计的永恒话题，在<span>XP</span>编程中提倡拥抱变化，积极应对。如何更好的去抓住变化点，应对变化？如何更好的提高代码复用？通过学习<span>Template Method</span>模式，您应该有一个新的认识。</span></p>
<p><strong><span>意图<br></span></strong><span>定义一个操作中的算法的骨架，而将一些步骤延迟到子类中。<span>Template Method</span>使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。<span>[-GOF</span>《设计模式》<span>]</span></span></p>
<p><strong><span>结构图</span></strong></p>
<p align=center><span><img height=211 alt="" src="http://www.cnblogs.com/images/cnblogs_com/terrylee/template_01.gif" width=326 border=0></span></p>
<p align=center><span>图<span>1&nbsp;Template Method </span>模式结构图<br></p>
<p><strong><span>实现要点</span></strong></p>
<p><span>1</span><span>．<span>Template Method</span>模式是一种非常基础性的设计模式，在面向对象系统中有着大量的应用。它用最简洁的机制（虚函数的多态性）为很多应用程序框架提供了灵活的扩展点，是代码复用方面的基本实现结构。<br></span><span>2</span><span>．除了可以灵活应对子步骤的变化外，&#8220;不用调用我，让我来调用你&#8221;的反向控制结构是<span>Template Method</span>的典型应用。<br></span><span>3</span><span>．在具体实现方面，被<span>Template Method</span>调用的虚方法可以具有实现，也可以没有任何实现（抽象方法，纯虚方法），但一般推荐将它们设置为<span>protected</span>方法。<span>[</span>李建忠<span>]</span></span></p>
<p><strong><span>适用性<br></span></strong><span>1</span><span>．一次性实现一个算法的不变的部分，并将可变的行为留给子类来实现。<span> <br></span></span><span>2</span><span>．各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。这是<span>Opdyke</span>和<span>Johnson</span>所描述过的&#8220;重分解以一般化&#8221;的一个很好的例子。首先识别现有代码中的不同之处，并且将不同之处分离为新的操作。最后，用一个调用这些新的操作的模板方法来替换这些不同的代码。<br></span><span>3</span><span>．控制子类扩展。模板方法只在特定点调用&#8220;<span>Hook</span>&#8221;操作，这样就只允许在这些点进行扩展。</span></p>
<p><strong><span>总结<br></span></strong><span>Template Method</span><span>模式是非常简单的一种设计模式，但它却是代码复用的一项基本的技术，在类库中尤其重要。</span></p>
</span></span>
<img src ="http://www.cnblogs.com/AlexSky/aggbug/558178.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42136/" target="_blank">[新闻]2008年9月8日科技博客精选</a>]]></description></item></channel></rss>