<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>宝玉</title><link>http://webuc.net/dotey/</link><description>专注于web开发技术</description><managingEditor>宝玉</managingEditor><dc:language>af</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>宝玉</dc:creator><title>加龙语录(1)</title><link>http://webuc.net/dotey/archive/2006/06/22/7127.aspx</link><pubDate>Thu, 22 Jun 2006 03:14:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2006/06/22/7127.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/7127.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2006/06/22/7127.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/7127.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/7127.aspx</trackback:ping><description>&lt;P&gt;加龙周六要去参加网友聚会，所以拒绝了某个MM的邀请，我就建议他把某MM带上一起参加聚会，加龙说：“去森林里转，还需要抱着颗树去吗”&lt;/P&gt;
&lt;P&gt;我曾给加龙宣扬过李敖著名的三不原则：“不主动不拒绝不负责”，加龙的看法总是和别人不一样：“不主动，就爬不到美女身上；不拒绝，丑女就会爬到你身上；不负责 早晚有人找你算账”&lt;/P&gt;&lt;img src ="http://webuc.net/dotey/aggbug/7127.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>这两天有个小朋友在这里玩的很开心</title><link>http://webuc.net/dotey/archive/2006/04/13/6966.aspx</link><pubDate>Thu, 13 Apr 2006 21:03:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2006/04/13/6966.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/6966.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2006/04/13/6966.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/6966.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/6966.aspx</trackback:ping><description>&lt;P&gt;58.215.65.166 &amp;nbsp; -&amp;nbsp; 江苏省 无锡市&lt;/P&gt;
&lt;P&gt;偶忘记禁用Register.aspx了，这位小朋友利用这个注册了若干blog帐号，辛辛苦苦发了若干Blog，呵呵，辛苦了！&lt;IMG src="/emoticons/emotion-15.gif" border=0&gt;&lt;/P&gt;&lt;img src ="http://webuc.net/dotey/aggbug/6966.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>使用离线工具发布Blog</title><link>http://webuc.net/dotey/archive/2006/02/17/6594.aspx</link><pubDate>Fri, 17 Feb 2006 14:25:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2006/02/17/6594.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/6594.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2006/02/17/6594.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/6594.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/6594.aspx</trackback:ping><description>&lt;p&gt;推荐Blog客户端工具：&lt;a href="http://www.zoundry.com/download.html"&gt;Zoundry Blog Writer&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.zoundry.com/download.html"&gt;Zoundry Blog Writer&lt;/a&gt;配置方法：&lt;br/&gt;在Tools&amp;gt;Blog Account Setting中新建一个帐户，在第一栏中输入帐户的显示名称(任意)，第二栏中选择"MetaWeblog"，第三栏中输入你的Blog用户名，第四、五栏输入Blog帐户密码，最后一栏输入MetaWeblog访问地址(我的地址为&lt;a href="http://www.webuc.net/dotey/services/metablogapi.aspx"&gt;http://www.webuc.net/dotey/services/metablogapi.aspx&lt;/a&gt;，您只要把其中的dotey换成您自己的帐号就好了)。&lt;br/&gt;我已经在&lt;a href="http://www.zoundry.com/download.html"&gt;Zoundry Blog Writer&lt;/a&gt;进行了测试，能够正常使用，该文就是从&lt;a href="http://www.zoundry.com/download.html"&gt;Zoundry Blog Writer&lt;/a&gt;发布。&lt;br/&gt;通过&lt;a href="http://www.zoundry.com/download.html"&gt;Zoundry Blog Writer&lt;/a&gt;你可以从自己的Blog获取随笔、发布随笔、将随笔发布到相应的个人分类，修改随笔。&lt;br/&gt;&lt;a href="http:/114018629310.jpg"&gt;&lt;img src="http:/114018629310_tn.jpg" alt="avatar.jpg" border="0" id="114018629310.jpg" title="avatar.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://webuc.net/dotey/aggbug/6594.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>如是用 MS Virtual Server 2005(zz)</title><link>http://webuc.net/dotey/archive/2005/06/09/3915.aspx</link><pubDate>Thu, 09 Jun 2005 22:30:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/06/09/3915.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/3915.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/06/09/3915.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/3915.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/3915.aspx</trackback:ping><description>&lt;P&gt;&amp;lt;&lt;A id=RecentPosts__ctl1_Hyperlink2 href="http://blogs.itecn.net/beauzhang/archive/2005/06/09/203.aspx"&gt;如是用 MS Virtual Server 2005&lt;/A&gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;*为了获得最佳性能，请添加独立的高速驱动器以承载虚拟硬盘。不要在操作系统所在的分区或其他任何使用量很大的分区上存储虚拟硬盘。&lt;BR&gt;*配置防病毒软件，将 .iso、.vfd、.vhd、.vud 和 .vsv 文件类型排除在外。从实时病毒扫描中排除这些文件可以提高性能。&lt;BR&gt;*限制在后台运行的服务和应用程序的数量。其目的是为虚拟机提供尽可能多的内存和处理器循环。&lt;BR&gt;*确保 Virtual Server 2005、管理网站和虚拟机的安全。&lt;BR&gt;*使用本地系统帐户安装 Virtual Server 2005 以运行管理网站。这样，您就可以使用受约束的委派；访问其他计算机上的资源文件（ISO、VFD 等）必须使用受约束的委派。&lt;BR&gt;*经常对虚拟硬盘所在的磁盘和虚拟机中的虚拟硬盘进行磁盘碎片整理。这样做可以提高性能；如果您使用动态扩展虚拟硬盘，这一点尤为明显。&lt;/P&gt;
&lt;P&gt;*创建一个由包含生产环境中常用的桌面配置的虚拟机和虚拟硬盘构成的库。可以快速加载并启动这些虚拟机以测试项目。让此库中包括虚拟机和未格式化的虚拟硬盘，您可以快速复制它们来测试裸机部署。另外，库中还要包括经常使用的虚拟软盘和硬盘，比如远程安装服务 (RIS) 启动盘和 Microsoft Windows 预安装环境 (Windows PE) 启动 CD。&lt;/P&gt;
&lt;P&gt;*无限制地使用撤消磁盘，使重新设置配置或启动测试非常快捷。例如，您可以测试在运行 Microsoft Windows 98 的虚拟机上的部署。接着，要删除更改并将 Windows 98 还原到计算机上，请丢弃撤消磁盘（整个过程只需要几秒钟）。&lt;/P&gt;
&lt;P&gt;*通过创建内部虚拟网络隔离虚拟实验室。在虚拟网络中模拟生产服务器（包括域控制器、服务器和桌面计算机）。尽可能模拟每一个细节 — 甚至服务器名称也要模拟，这样您的测试就更具代表性，跟踪结果也更方便。&lt;/P&gt;
&lt;P&gt;*在主机服务器上安装环回适配器，然后将一个虚拟网络连接到该适配器，从而为该虚拟网络提供 Internet 访问。在主机上，可以使用 Internet 连接共享或路由和远程访问服务来为环回适配器提供 Internet 访问。&amp;nbsp;&lt;/P&gt;
&lt;P&gt;*使用虚拟专用网络 (VPN) 连接共享生产网络上的文件。Virtual Server 2005 不允许主机和虚拟机共享文件夹。如果安装了环回适配器并将其连接到了虚拟网络（参见上一项），则可以创建到生产网络的 VPN 连接，然后使用该连接来交换文件。这是将测试文件移入移出隔离的虚拟网络的一种简便方法。&lt;/P&gt;
&lt;P&gt;*安装虚拟机附件。与其说这是一个窍门，不如说这是一则提示。安装这些附件可以大大增强体验，因而这一步操作是必不可少的。为此，应向硬盘映像中添加附件，从而自动安装这些附件。在准备好将项目部署到生产环境中后，您可以移除这些附件。&lt;/P&gt;&lt;img src ="http://webuc.net/dotey/aggbug/3915.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>要当爸爸了</title><link>http://webuc.net/dotey/archive/2005/03/04/2901.aspx</link><pubDate>Fri, 04 Mar 2005 08:14:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/03/04/2901.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2901.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/03/04/2901.aspx#Feedback</comments><slash:comments>30</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2901.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2901.aspx</trackback:ping><description>预产期在10月份，辛苦老婆了&lt;img src ="http://webuc.net/dotey/aggbug/2901.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>本Blog停止更新</title><link>http://webuc.net/dotey/archive/2005/01/20/2662.aspx</link><pubDate>Thu, 20 Jan 2005 00:57:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/01/20/2662.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2662.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/01/20/2662.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2662.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2662.aspx</trackback:ping><description>&lt;p&gt;维护多个blog太麻烦了，此后停止更新此blog，最新blog只发布在 &lt;a href="http://blog.joycode.com"&gt;博客堂&lt;/a&gt; 的 &lt;a href="http://blog.joycode.com/dotey"&gt;我的Blog &lt;/a&gt;中，谢谢关注！&lt;/p&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2662.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>CnForums 1.2 完整源码版</title><link>http://webuc.net/dotey/archive/2005/01/09/2583.aspx</link><pubDate>Sun, 09 Jan 2005 22:42:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/01/09/2583.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2583.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/01/09/2583.aspx#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2583.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2583.aspx</trackback:ping><description>&lt;p&gt;&lt;br /&gt;CnForums1.2针对Beta1版中用户反馈的一些问题，基本修正了大家反馈Beta1中存在的所有BUG，新增了一些功能，如：&lt;br /&gt;支持框架式皮肤界面&lt;br /&gt;支持动网等论坛的导入（动网论坛导入程序及源码随后发布）&lt;br /&gt;版务管理&lt;br /&gt;私人留言可以显示留言条数&lt;br /&gt;桌面提醒功能（Popup提示）&lt;br /&gt;……&lt;/p&gt;&lt;br /&gt; &lt;p&gt;现在有某个别团队直接在CnForum Beta1的源码基础上作简单修改即声称是自己的作品，保留对其进一步追究的权利。（如果在同类产品中直接使用CnForums源码，请征得作者同意并在作出相关申明）&lt;/p&gt;&lt;br /&gt; &lt;p&gt;&lt;br /&gt;谢谢大家对CnForums的支持&lt;/p&gt;&lt;br /&gt; &lt;p&gt;如果有任何问题请到论坛提问：&lt;a href="http://www.cnforums.net/"&gt;http://www.cnforums.net&lt;/a&gt;&lt;/p&gt;下载：&lt;a href="http://bbs.openlab.net.cn/ShowThread.aspx?PostID=376725"&gt;http://bbs.openlab.net.cn/ShowThread.aspx?PostID=376725&lt;/a&gt;&lt;br /&gt; &lt;p&gt;&lt;br /&gt;CnForums 开发团队&lt;br /&gt;2005-01-10&lt;/p&gt;&lt;br /&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2583.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>让论坛也可以像outlook2003一样有新帖子/留言Popup提示 </title><link>http://webuc.net/dotey/archive/2005/01/07/2546.aspx</link><pubDate>Fri, 07 Jan 2005 01:42:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/01/07/2546.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2546.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/01/07/2546.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2546.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2546.aspx</trackback:ping><description>很多软件，如msn、outlook2003等都有popup提示，可以方便的知道有无新邮件。 &lt;br /&gt;&lt;br /&gt;IE6有一个非常酷的功能就是Popup，博客园中有几位兄台已经研究过了。 &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cnforums.net/"&gt;&lt;font color="#6666cc"&gt;CnForums&lt;/font&gt;&lt;/a&gt;1.2加入了一个比较好的功能就是Popup提示，让你可以方便快捷的知道新帖子/留言 &lt;br /&gt;&lt;br /&gt;效果如图（和软件的popup一样，不管你再哪个窗口，都可以弹出）： &lt;br /&gt;&lt;img height="98" hspace="5" src="http://cnblogs.com/images/cnblogs_com/dotey/Snap2.jpg" width="348" align="baseline" /&gt; &lt;br /&gt;&lt;br /&gt;如果您想体验一下，并且IE版本为6.0，那么可以登录 &lt;a href="http://www.cnforums.net/"&gt;&lt;font color="#6666cc"&gt;http://www.cnforums.net&lt;/font&gt;&lt;/a&gt; 看看效果:) &lt;br /&gt;&lt;br /&gt;CnForums1.2正式版全部源码将于下星期一发布&lt;img height="1" src="http://cnblogs.com/dotey/aggbug/88013.html" width="1" /&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2546.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>ASP.NET 2.0 Resources - MSDN webcasts &amp; whitepapers</title><link>http://webuc.net/dotey/archive/2005/01/06/2541.aspx</link><pubDate>Thu, 06 Jan 2005 02:50:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/01/06/2541.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2541.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/01/06/2541.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2541.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2541.aspx</trackback:ping><description>&lt;font face="Arial"&gt;&amp;nbsp;&lt;/font&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;I've been digging into ASP.NET 2.0 lately so thought I'd share some good webcasts and whitepapers I've found along the way...&lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;b&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial"&gt;Planning for Whidbey webcast&lt;/span&gt;&lt;/b&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Here’s a fantastic webcast by Stefan Schackow discussing “planning for Whidbey”. It was great as he had a good presentation and demos, but also took time to answer a LOT of questions that popped up during the webcast:&lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258691&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="mso-bidi-font-size: 12.0pt"&gt;&lt;font color="#6666cc"&gt;http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258691&amp;amp;CountryCode=US&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial"&gt;Data Provider&lt;/span&gt;&lt;/b&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;Here’s a 400 level webcast on the Design patterns used in the Provider model. Also check out this &lt;a href="http://weblogs.asp.net/asmith/archive/2004/04/13/112076.aspx"&gt;&lt;span deactivatedstyle="mso-bidi-font-size: 12.0pt"&gt;&lt;font color="#6666cc"&gt;blog&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; by Andy on the basic design pattern of the provider model.&lt;/span&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259187&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="COLOR: #0033cc"&gt;&lt;font color="#6666cc"&gt;MSDN Webcast: Designing Flexible Applications Using the Provider Model in ASP.NET 2.0 (Level 400) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259157&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="COLOR: #0033cc"&gt;&lt;font color="#6666cc"&gt;MSDN Webcast: Building A Google Data Source Control with ASP.NET 2.0 (Level 400) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;b&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;b&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial"&gt;ASP.NET 2.0 Webcasts&lt;/span&gt;&lt;/b&gt;&lt;span deactivatedstyle="FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258751&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Using the Time-Saving Membership Features in ASP.NET 2.0 (Level 200)&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259040&amp;amp;CountryCode=US " href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259040&amp;amp;CountryCode=US%20"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Building Mobile Web Sites in ASP.NET 2.0 (Level 300) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258305&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Fundamentals of ASP.NET Mobile Controls (Level 200) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259175&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Working With The GridView and DetailsView Controls in ASP.NET 2.0 (Level 300)&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259180&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Data Access Using ASP.NET 2.0 (Level 200) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258756&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Exploring the New Personalization Features in ASP.NET 2.0 (Level 200) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258308&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: A First Look at ASP.NET 2.0 (Level 200) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032259197&amp;amp;CountryCode=US"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Introduction to ASP.NET 2.0 Security (Level 200)&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;a title="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258775&amp;amp;CountryCode=US " href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032258775&amp;amp;CountryCode=US%20"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: #0033cc; mso-bidi-font-size: 12.0pt"&gt;&lt;font face="Times New Roman" color="#6666cc"&gt;MSDN Webcast: Working with Data Using the Enhanced GridView and DetailsView Controls in ASP.NET 2.0 (Level 200) &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;b&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial"&gt;ASP.NET 2.0 Beta 1 Articles on MSDN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/vwd_sse_personalization.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Let's Get Personal: Personalizing Web Sites in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Learn how to personalize your data-driven Web applications by using profiles, Web parts, theming, and skins. Also see how to implement XML-driven forms using the new XMLDataSource object. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/webparts.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Introducing the ASP.NET 2.0 Web Parts Framework&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Web Parts provide you with the infrastructure for creating customizable Web applications. When you build a Web site with Web Parts, the Web site can be easily customized by either the administrator of the Web site or the individual users of the Web site. Web Parts are all about flexibility. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/asp2local.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;ASP.NET 2.0 Localization Features - A Fresh Approach to Localizing Web Applications&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Creating global Web applications with Microsoft ASP.NET is becoming more and more important. ASP.NET 2.0 makes it even easier to provide support for multiple cultures and locales through improved runtime and tool support. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/themes.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Create Web Application Themes in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Learn to use cascading style sheets and images with themes in ASP.NET 2.0, and how you can dynamically load themes at run time. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/userprofiles.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Storing User Information with ASP.NET 2.0 Profiles&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Use the new Profile object in ASP.NET 2.0 to track user preferences, create a shopping cart, and more. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/asp2objectdatasource.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Working with the ASP.NET 2.0 ObjectDataSource Control&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Learn how to use the ObjectDataSource control to build a proper multi-tier Web application with the ASP.NET 2.0 Framework. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/treeview.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Introducing the ASP.NET 2.0 TreeView and Menu Controls&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Discover how you can use the TreeView and Menu controls in ASP.NET 2.0 to represent hierarchical data in your applications. Use both controls with various data sources and customize the appearance of both controls. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/sitemaint.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Web Site Operations in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Use ASP.NET 2.0, Internet Information Services 6.0, and the Microsoft .NET Framework 2.0 to make deploying, configuring, monitoring, and maintaining Web applications easier than ever before. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/msdnmag/issues/04/10/viewstate/default.aspx"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;ASP.NET 2.0: Speed Up Your Site with the Improved View State in ASP.NET 2.0 – MSDN Magazine, October 2004&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;The release of ASP.NET 2.0 brings several improvements to the view state mechanism that will make it easier to use without hindering your site's performance. These improvements include a reduction in encoding size, the introduction of control state to separate behavioral state from content, and intelligent integration with data-bound controls. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/internals.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;ASP.NET 2.0 Internals&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;While 100 percent backward compatible with ASP.NET 1.1, ASP.NET 2.0 brings a number of internal changes to ASP.NET. These include changes to the code model, compilation, page lifecycle, and more. This article outlines those changes. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/dataaccess.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Code Less to Access Data with ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Leverage the new ASP.NET 2.0 data access controls to reduce the code you have to write when developing a data-driven Web application. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/masterpages.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Master Pages in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Master Pages enable you to create ASP.NET pages that follow a consistent theme and style. Stephen Walther shows you how to take advantage of this new feature. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;span deactivatedstyle="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/valgroups.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Changes to the Validation Controls in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;While ASP.NET 1.x supported validating user input, ASP.NET 2.0 increases the flexibility of the validation through the addition of validation groups. This article looks at this new feature, and shows you how you can use it in a number of common scenarios. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/grddetview.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Introducing the ASP.NET 2.0 GridView and DetailsView Controls&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Display and edit database data and single database records with GridView and DetailsView, two new controls in the ASP.NET 2.0 framework. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/person_fin.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Personalize Better with ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Create personalized Web sites faster, and build entirely new classes of applications, with the new personalization features in ASP.NET 2.0. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/migratefromaspnetto2.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Migrate from ASP.NET 1.x to ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Explore features new to ASP.NET 2.0 from ASP.NET 1.x that offer a better set of options for Web development within the .NET Framework. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/migratingtoaspnet2.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Migrate from ASP to ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Tour the advantages of developing with ASP.NET 2.0, and gives guidance to developers in migrating from ASP to ASP.NET 2.0. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/custwebcon.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Creating Custom Web Controls with ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;The new adaptive rendering model in ASP.NET 2.0 provides a number of new options for control writers. This article shows how those options make creating custom controls for ASP.NET easier than before. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/msdnmag/issues/04/08/gridview/default.aspx"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;GridView: Move Over DataGrid, There's a New Grid in Town!&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Go beyond the DataGrid! &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/secfeatnt2.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;New Security Features in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;ASP.NET 2.0 includes a number of new features to make securing your ASP.NET applications easier than before. See how you can use the new controls, tools, and APIs to control access to pages, and make it easier to store information about your users. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title="http" href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/cachingnt2.asp"&gt;&lt;span deactivatedstyle="mso-bidi-font-weight: bold"&gt;&lt;font color="#6666cc"&gt;Improved Caching in ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" deactivatedstyle="MARGIN: 0in 0in 0pt"&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Stephen Walther looks at the new caching features included in ASP.NET 2.0, and how you can use them to improve the performance and scalability of your ASP.NET applications. &lt;/span&gt;&lt;span deactivatedstyle="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2541.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>CnForums 1.2 测试版</title><link>http://webuc.net/dotey/archive/2005/01/01/2523.aspx</link><pubDate>Sat, 01 Jan 2005 16:30:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2005/01/01/2523.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2523.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2005/01/01/2523.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2523.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2523.aspx</trackback:ping><description>&lt;p&gt;牺牲了若干个周末陪MM逛街看电影的时间，在CnForums Beta1基础上进行完善和更新，1.2版内部发布测试。&lt;/p&gt;&lt;br /&gt; &lt;p&gt;因为没有经过严格测试，不敢保证此版本的稳定性，所以先内部发行一个测试版本，大家在使用过程中有什么问题请到论坛（&lt;a href="http://www.cnforums.net/"&gt;&lt;font color="#800080"&gt;http://www.cnforums.net&lt;/font&gt;&lt;/a&gt;）反馈即可。 &lt;/p&gt;&lt;br /&gt; &lt;p&gt;CnForums1.2针对Beta1版中用户反馈的一些问题，基本修正了Beta1中存在的BUG，新增了一些功能，如： &lt;br /&gt;支持框架式皮肤界面 &lt;br /&gt;支持动网等论坛的导入（动网论坛导入程序及源码随后发布） &lt;br /&gt;版务管理 &lt;br /&gt;私人留言可以显示留言条数 &lt;br /&gt;…… &lt;/p&gt;&lt;br /&gt; &lt;p&gt;现在有某个别团队直接在CnForum Beta1的源码基础上作简单修改即声称是自己的作品，保留对其进一步追究的权利。&lt;/p&gt;&lt;br /&gt; &lt;p&gt;CnForums1.2的完整源码将在经过大家的使用测试反馈，完善稳定后，加入license，在随后的几天内正式发布。&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2523.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>asp.net forums中定时器的应用</title><link>http://webuc.net/dotey/archive/2004/12/20/2417.aspx</link><pubDate>Mon, 20 Dec 2004 01:19:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2004/12/20/2417.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2417.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2004/12/20/2417.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2417.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2417.aspx</trackback:ping><description>&lt;p&gt;在Asp.Net中使用定时器，破宝之前已有Blog写过《&lt;a id="viewpost" href="http://blog.joycode.com/percyboy/articles/3595.aspx"&gt;&lt;font color="#223355"&gt;在 ASP.NET 中使用计时器（Timer）&lt;/font&gt;&lt;/a&gt;》，这里主要针对Asp.Net Forums来说一下其具体实现。&lt;/p&gt; &lt;p&gt;在Asp.Net Forums中，对定时器有如下应用：&lt;br /&gt;1. 更新论坛统计信息&lt;br /&gt;2. 定时索引指定条数的帖子&lt;br /&gt;3. 定时群发队列中的邮件&lt;/p&gt; &lt;p&gt;Forums中对定时器的调用是放在自定义HttpModule的Init方法中（如果您没有使用HttpModule，也可以在Globals.aspx中的Application_OnStart 中调用定时器）。&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt; &lt;div&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;定时器&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;static&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;Timer&amp;nbsp;statsTimer; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;static&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;Timer&amp;nbsp;emailTimer; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;定时间隔&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;long&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;EmailInterval&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ForumConfiguration.GetConfig().ThreadIntervalEmail&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;60000&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;long&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;StatsInterval&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ForumConfiguration.GetConfig().ThreadIntervalStats&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;60000&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_302_361_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_302_361_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&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;String&amp;nbsp;ModuleName&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_302_361_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_302_361_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&amp;nbsp; &lt;br /&gt;&lt;img id="Codehighlighter1_321_350_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_321_350_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;get&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_321_350_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_321_350_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&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: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;ForumsHttpModule&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&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;********************************************************************* &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&amp;nbsp;ForumsHttpModule &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&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;// &lt;br /&gt;&lt;img id="Codehighlighter1_498_722_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_498_722_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span id="Codehighlighter1_498_722_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"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_498_722_Open_Text"&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;Initializes&amp;nbsp;the&amp;nbsp;HttpModule&amp;nbsp;and&amp;nbsp;performs&amp;nbsp;the&amp;nbsp;wireup&amp;nbsp;of&amp;nbsp;all&amp;nbsp;application &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;events. &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;param&amp;nbsp;name="application"&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;Application&amp;nbsp;the&amp;nbsp;module&amp;nbsp;is&amp;nbsp;being&amp;nbsp;run&amp;nbsp;for&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_777_1525_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_777_1525_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&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;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;Init(HttpApplication&amp;nbsp;application)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_777_1525_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_777_1525_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&amp;nbsp; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;Wire-up&amp;nbsp;application&amp;nbsp;events &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;略去其他代码&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;ForumConfiguration&amp;nbsp;forumConfig&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ForumConfiguration.GetConfig(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;如果使用定时器并且定时器还没初始化&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&amp;nbsp;forumConfig&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;&lt;img id="Codehighlighter1_1035_1515_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1035_1515_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;forumConfig.IsBackgroundThreadingDisabled&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;==&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;false&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1035_1515_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1035_1515_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;(emailTimer&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;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;新建定时器 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;新建一个TimerCallback委托，具体要执行的方法在ScheduledWorkCallbackEmailInterval中&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;emailTimer&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;Timer(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;TimerCallback(ScheduledWorkCallbackEmailInterval),&amp;nbsp;application.Context,&amp;nbsp;EmailInterval,&amp;nbsp;EmailInterval); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;forumConfig.IsIndexingDisabled&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;==&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;false&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp; &lt;br /&gt;&lt;img id="Codehighlighter1_1365_1505_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1365_1505_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statsTimer&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;&amp;nbsp;)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1365_1505_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1365_1505_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;statsTimer&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;Timer(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;TimerCallback(ScheduledWorkCallbackStatsInterval),&amp;nbsp;application.Context,&amp;nbsp;StatsInterval,&amp;nbsp;StatsInterval); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_1530_1572_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1530_1572_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1530_1572_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"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_1530_1572_Open_Text"&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;释放定时器 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_1603_1675_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1603_1675_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&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;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;Dispose()&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1603_1675_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1603_1675_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;statsTimer&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;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;emailTimer&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;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_1686_3058_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1686_3058_Open_Image" style="DISPLAY: inline" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1686_3058_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"&gt;Timer&amp;nbsp;Callbacks&lt;/span&gt;&lt;span id="Codehighlighter1_1686_3058_Open_Text" style="DISPLAY: inline"&gt;&lt;span style="COLOR: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;Timer&amp;nbsp;Callbacks&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_1712_1762_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1712_1762_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1712_1762_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"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_1712_1762_Open_Text"&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;定时发送队列中待发送的邮件 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_1835_2362_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1835_2362_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ScheduledWorkCallbackEmailInterval&amp;nbsp;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;sender)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1835_2362_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1835_2362_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img id="Codehighlighter1_1844_2097_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_1844_2097_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;try&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_1844_2097_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_1844_2097_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;当处理邮件时暂停定时器&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;emailTimer.Change(&amp;nbsp;System.Threading.Timeout.Infinite,&amp;nbsp;EmailInterval&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;发送队列中的邮件 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;// &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Emails.SendQueuedEmails(&amp;nbsp;(HttpContext)&amp;nbsp;sender); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;更新匿名用户 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;// &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Users.UpdateAnonymousUsers(&amp;nbsp;(HttpContext)&amp;nbsp;sender); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2123_2264_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2123_2264_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;catch&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&amp;nbsp;Exception&amp;nbsp;e&amp;nbsp;)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2123_2264_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2123_2264_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;ForumException&amp;nbsp;fe&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;ForumException(&amp;nbsp;ForumExceptionType.EmailUnableToSend,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Scheduled&amp;nbsp;Worker&amp;nbsp;Thread&amp;nbsp;failed.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&amp;nbsp;e&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;fe.Log(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2277_2352_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2277_2352_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;finally&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2277_2352_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2277_2352_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;重新启动定时器&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;emailTimer.Change(&amp;nbsp;EmailInterval,&amp;nbsp;EmailInterval&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2367_2421_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2367_2421_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2367_2421_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"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_2367_2421_Open_Text"&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;定时索引帖子和定时更新论坛统计信息 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;///&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2493_3039_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2493_3039_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ScheduledWorkCallbackStatsInterval(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;sender)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2493_3039_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2493_3039_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img id="Codehighlighter1_2502_2761_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2502_2761_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;try&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2502_2761_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2502_2761_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;休眠定时器&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statsTimer.Change(&amp;nbsp;System.Threading.Timeout.Infinite,&amp;nbsp;StatsInterval&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;每次索引100篇帖子 &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;// &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Search.IndexPosts(&amp;nbsp;(HttpContext)&amp;nbsp;sender,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;100&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;更新论坛统计信息&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SiteStatistics.LoadSiteStatistics(&amp;nbsp;(HttpContext)&amp;nbsp;sender,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;1&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2787_2944_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2787_2944_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;catch&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&amp;nbsp;Exception&amp;nbsp;e&amp;nbsp;)&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2787_2944_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2787_2944_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;ForumException&amp;nbsp;fe&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;ForumException(&amp;nbsp;ForumExceptionType.UnknownError,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Failure&amp;nbsp;performing&amp;nbsp;scheduled&amp;nbsp;statistics&amp;nbsp;maintenance.&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&amp;nbsp;e&amp;nbsp;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;fe.Log(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_2957_3029_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_2957_3029_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;finally&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_2957_3029_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_2957_3029_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;唤醒定时器&lt;/span&gt;&lt;span style="COLOR: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statsTimer.Change(&amp;nbsp;StatsInterval,&amp;nbsp;StatsInterval); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" /&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&gt; &lt;/div&gt;&lt;/div&gt; &lt;p&gt;其实稍加改进就可以应用到我们自己的项目中，例如前不久刚做一个项目，因为数据量过于庞大，每次从数据库取非常慢，然后改成使用定时器，每隔12小时将最新的数据列表生成静态的文本。&lt;/p&gt; &lt;p&gt;BTW: 有技术八股文之嫌哦:P &lt;/p&gt;&lt;img src ="http://webuc.net/dotey/aggbug/2417.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>宝玉</dc:creator><title>MemberShip中对用户资料的序列化</title><link>http://webuc.net/dotey/archive/2004/12/16/2389.aspx</link><pubDate>Thu, 16 Dec 2004 11:46:00 GMT</pubDate><guid>http://webuc.net/dotey/archive/2004/12/16/2389.aspx</guid><wfw:comment>http://webuc.net/dotey/comments/2389.aspx</wfw:comment><comments>http://webuc.net/dotey/archive/2004/12/16/2389.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://webuc.net/dotey/comments/commentRss/2389.aspx</wfw:commentRss><trackback:ping>http://webuc.net/dotey/services/trackbacks/2389.aspx</trackback:ping><description>&lt;p&gt;前面在《&lt;a id="viewpost" href="http://blog.joycode.com/dotey/archive/2004/12/10/40887.aspx"&gt;&lt;font color="#223355"&gt;Asp.Net Forums中对.Net中序列化和反序列化的应用&lt;/font&gt;&lt;/a&gt;》一文中讲了，对于一些扩展属性，可以将字符串集合序列化为二进制，也可以从二进制反序列化为字符串集合。其实我一直有个疑问，对于asp.net中可以很容易实现，但是在asp中该如何？&lt;/p&gt; &lt;p&gt;在&lt;a href="http://www.communityserver.org/"&gt;CS&lt;/a&gt;和&lt;a href="http://www.dotnetnuke.com/"&gt;DNN3&lt;/a&gt;中都采用了asp.net2.0的新特性&lt;a href="http://http://www.asp.net/MemberRoles/memberroles.htm"&gt;MemberShip&lt;/a&gt;，今天研究了一下&lt;a href="http://www.telligentsystems.com/Solutions/license.aspx?File=cs-beta2.exe"&gt;CSBeta2&lt;/a&gt;，特地研究了一下MemberShip中对于用户资料的序列化保存。发现在aspnet_Profile表中有三个特殊字段PropertyNames、PropertyValuesString和PropertyValuesBinary，其中的PropertyValuesBinary十之八九就是保存序列化为二进制后的内容。对于PropertyNames、PropertyValuesString这两个字段倒是不知道，打开查看，发现其中一条记录这两个字段的内容分别为下面两行的内容：&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;publicEmail:S:0:0:yahooIM:S:0:0:timezone:S:0:1:birthdate:B:0:-1:gender:S:1:6:location:S:7:0:fontsize:S:7:1:signature:S:8:0:dateFormat:S:8:10:webLog:S:18:7:enablePostPreviewPopup:B:0:-1:language:S:25:5:interests:S:30:0:occupation:S:30:0:webAddress:S:30:7:icqIM:S:37:0:aolIM:S:37:0:signatureFormatted:S:37:0:msnIM:S:37:0:&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;8NotSet0MM-dd-yyyyhttp://zh-CNhttp://&lt;/font&gt;&lt;/p&gt; &lt;p&gt;借助Reflector分析了一下源码，终于明白了，原来在PropertyNames字段中，由“:”分割为若干个数组，其中每个属性占数组的4项（如publicEmail:S:0:0:为一个属性的整体）：&lt;br /&gt;第1项为属性名称&lt;br /&gt;第2项有两种可能值，B表示该属性值为null，S表示不为null&lt;br /&gt;第3项表示在PropertyValuesString字段中字符串的起始位置&lt;br /&gt;第4项表示长度&lt;br /&gt;那么publicEmail:S:0:0:就表示为空值，timezone:S:0:1:表示“8NotSet0MM-dd-yyyyhttp://zh-CNhttp://“中从0开始取1个字符长度为“8”，birthdate:B:0:-1:就表示为null，dateFormat:S:8:10:就表示取“8NotSet0MM-dd-yyyyhttp://zh-CNhttp://”中第8位开始取10个字符为“MM-dd-yyyy”……&lt;/p&gt; &lt;p&gt;通过这种序列化为字符串的方式，即使是一些弱语言，如vbscript,jscript都可以实现序列化和反序列化了，那么在asp中也就可以共享asp.net的MemberShip了。&lt;/p&gt; &lt;p&gt;贴两段核心代码参考一下：&lt;br /&gt;&lt;/p&gt; &lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt; &lt;div&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" /&gt;&lt;span style="COLOR: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;static&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;PrepareDataForSaving(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;ref&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;allNames,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;ref&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;allValues,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;ref&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;[]&amp;nbsp;buf,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;binarySupported,&amp;nbsp;SettingsPropertyValueCollection&amp;nbsp;properties,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;userIsAuthenticated) &lt;br /&gt;&lt;img id="Codehighlighter1_193_3859_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_193_3859_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_193_3859_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_193_3859_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;builder1&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;StringBuilder(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;builder2&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;StringBuilder(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;stream1&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;binarySupported&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;?&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;MemoryStream()&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;null&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;try&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_389_3607_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_389_3607_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_389_3607_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_389_3607_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;bool&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;flag1&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;false&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(SettingsPropertyValue&amp;nbsp;value1&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;properties) &lt;br /&gt;&lt;img id="Codehighlighter1_500_836_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_500_836_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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 id="Codehighlighter1_500_836_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_500_836_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;&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;value1.IsDirty) &lt;br /&gt;&lt;img id="Codehighlighter1_559_613_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_559_613_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span id="Codehighlighter1_559_613_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_559_613_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;continue&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(userIsAuthenticated&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;bool&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&amp;nbsp;value1.Property.Attributes[&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;AllowAnonymous&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;])) &lt;br /&gt;&lt;img id="Codehighlighter1_733_822_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_733_822_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span id="Codehighlighter1_733_822_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_733_822_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;flag1&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;true&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;break&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;!&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;flag1) &lt;br /&gt;&lt;img id="Codehighlighter1_874_914_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_874_914_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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 id="Codehighlighter1_874_914_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_874_914_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" /&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&gt;&lt;span style="COLOR: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(SettingsPropertyValue&amp;nbsp;value2&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;in&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;properties) &lt;br /&gt;&lt;img id="Codehighlighter1_993_3495_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" /&gt;&lt;img id="Codehighlighter1_993_3495_Closed_Image" style="DISPLAY: none" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" /&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 id="Codehighlighter1_993_3495_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_993_3495_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /&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;&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;userIsAuthenticated&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;amp;&amp;amp;&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;/span&gt;&lt;span style="COLOR: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&amp;nbsp;value2.Property.Attributes[&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;AllowAnonymous&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;])) &lt;br /&gt;&lt;img id="Codehighlighter1_1115_1169_Open_Image" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" 