<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.skyeach.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>大兵随笔</title><link>http://www.skyeach.com/blogs/robbie/default.aspx</link><description>记下的才是生活</description><dc:language /><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>[CS enhancement]ExtendedAttributes in Community Server </title><link>http://www.skyeach.com/blogs/robbie/archive/2006/06/27/5890.aspx</link><pubDate>Tue, 27 Jun 2006 05:39:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5890</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5890.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5890</wfw:commentRss><description>&lt;H4 class=BlogPostHeader&gt;In this, the first of what I hope is a long line of articles based on customizing &lt;A href="http://communityserver.org/"&gt;Community Server&lt;/A&gt;, I want to talk about a little know but very powerful property found in many places inside the CS API. &lt;/H4&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;P&gt;One thing people often need to do in &lt;A href="http://communityserver.org/"&gt;Community Server&lt;/A&gt;, especially when customizing it, is to save custom data. Of course, if you’re feeling brave, you can always edit the database schema and related Data Providers as well as extending the relevant class (Weblog, Gallery, User etc.). Now this method is not without its merits, such as easier searching based on these new values, plus better performance where the values are to regularly accessed, and as ever, such factors should always be taken into account when extending Community Server. &lt;/P&gt;
&lt;P&gt;What I want to talk about however, is the case where you want to simply store some extra information with an object. For example, one common request is to save extra contact information against a user. Currently, Community Server allows you to add IM addresses for MSN, AOL, Yahoo and ICQ contact details to a user’s profile, but you might want more! Another example might be that you wish a user to accept some specific terms/rules before you allow them to use your site (this came up on a recent client installation) so you need to record the date/time when they accepted. &lt;/P&gt;
&lt;P&gt;By far the easiest way to achieve this is by using &lt;SPAN&gt;ExtendedAttributes&lt;/SPAN&gt;. Most of the major classes in CS inherit from &lt;SPAN&gt;ExtendedAttributes&lt;/SPAN&gt; such as User, Post &amp;amp; Section (in turn Weblog, Gallery, Forum etc inherit from Section as WeblogPost, GalleryPost etc. inherit from Post). All of these classes have two methods that you can use to set and retrieve this data and these are &lt;SPAN&gt;GetExtendedAttribute()&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;SetExtendedAttribute().&lt;/SPAN&gt; Under the hood, the ExtendedAttributes class uses a &lt;SPAN&gt;NameValueCollection&lt;/SPAN&gt; object to store the data so naturally, &lt;SPAN&gt;SetExtendedAttribute()&lt;/SPAN&gt;requires just two parameters; name and value. &lt;/P&gt;
&lt;P&gt;So, to assign a users &lt;A href="http://www.google.com/talk/"&gt;GoogleTalk&lt;/A&gt; address: &lt;/P&gt;&lt;SPAN&gt;
&lt;P&gt;User user = CSContext.Current.User; &lt;SPAN&gt;// Get the logged on user. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;user.SetExtendedAttribute("GoogleTalkAccount", "usersaccount"); &lt;SPAN&gt;// Set the new details. &lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Users.UpdateUser(user); &lt;SPAN&gt;// Save the changes.&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;And to retrieve that data: &lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; googleTalkAccount = user.GetExtendedAttribute("GoogleTalkAccount");&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Or, to set the date that a user accepted the terms to your site; &lt;/P&gt;&lt;SPAN&gt;
&lt;P&gt;User user = CSContext.Current.User; &lt;SPAN&gt;// Get the logged on user. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;user.SetExtendedAttribute("TermsAccepted", DateTime.Now.ToString()); &lt;SPAN&gt;// Set the date. &lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Users.UpdateUser(user); &lt;SPAN&gt;// Save the changes.&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;And again, to retrieve this: &lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;DateTime termsAccepted = Convert.ToDateTime(user.GetExtendedAttribute("TermsAccepted"));&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Of course, normally, you’d need to check the above string before trying to cast it as a DateTime, but we’ll skip that for the purposes of this article. As a side note, if the ExtendedAttribute doesn’t exisit in the colletion, &lt;SPAN&gt;GetExtendedAttribute()&lt;/SPAN&gt; will return an empty string. &lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5890" width="1" height="1"&gt;</description><category domain="http://www.skyeach.com/blogs/robbie/archive/tags/CS+Tips+_2600_amp_3B00_+Trick/default.aspx">CS Tips &amp;amp; Trick</category></item><item><title>Community Server资料收集</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/06/27/5888.aspx</link><pubDate>Tue, 27 Jun 2006 03:46:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5888</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5888.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5888</wfw:commentRss><description>&lt;P&gt;Community Server学习资料&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;uGoer &lt;/FONT&gt;&lt;/U&gt;系列文章&lt;/P&gt;
&lt;P&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl19_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/01/228097.html"&gt;Community Server专题一：概述Community Server&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl18_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/02/228682.html"&gt;Community Server专题二：体系结构&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl17_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/05/230197.html"&gt;Community Server专题：附件(DOC&amp;amp;PPT)--2005年10月10日更新&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl16_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/06/230917.html"&gt;Community Server专题三：HttpModule&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl15_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/07/231676.html"&gt;Community Server专题四：HttpHandler&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl14_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/08/232427.html"&gt;Community Server专题五：IHttpHandlerFactory&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl13_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/08/232512.html"&gt;Community Server专题：FAQ--2005年9月19日更新&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl12_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/12/235051.html"&gt;Community Server专题六：Delegates &amp;amp; Events&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl11_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/13/236028.html"&gt;Community Server专题七： Job &amp;amp; Timer&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl10_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/15/237412.html"&gt;Community Server专题附录一： 什么是Threads &amp;amp; Processes&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl09_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/17/238978.html"&gt;Community Server专题八：MemberRole之Membership&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl08_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/19/239510.html"&gt;Community Server专题八：MemberRole之Membership深入篇&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl07_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/21/240993.html"&gt;Community Server专题九：MemberRole之Profile&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl06_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/10/10/251301.html"&gt;Community Server专题十：MemberRole之RoleManager&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl03_TitleUrl href="http://ugoer.cnblogs.com/archive/2006/02/24/336723.html"&gt;CommunityServer 2.0中Files 与 Reader 项目的授权机制&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl02_TitleUrl href="http://ugoer.cnblogs.com/archive/2006/02/27/339040.html"&gt;Community Server 2.0中如何调试项目?我告诉你!&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl01_TitleUrl href="http://ugoer.cnblogs.com/archive/2006/03/09/346075.html"&gt;Community Server2.0专注细节一 邮件提醒按钮实现(上)&lt;/A&gt;&lt;BR&gt;&lt;A id=CategoryEntryList1_EntryStoryList_Entries_ctl00_TitleUrl href="http://ugoer.cnblogs.com/archive/2006/03/09/346077.html"&gt;Community Server2.0专注细节专题Doc下载(2006-3-9更新)&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://dragonpro.cnblogs.com/"&gt;Felix&lt;/A&gt; 系列文章&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl03_DayItem_DayList_ctl02_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/24/383095.html"&gt;Community Server系列之一：开篇简介&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl03_DayItem_DayList_ctl01_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/24/383097.html"&gt;Community Server系列之二：页面之间的关系1[介绍]&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl03_DayItem_DayList_ctl00_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/24/383900.html"&gt;Community Server系列之三：页面间关系2[介绍]&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl02_DayItem_DayList_ctl00_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/25/384972.html"&gt;Community Server系列之四：Ajax在CS2.0中的应用1&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl00_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/26/385925.html"&gt;Community Server系列之五：CS2中的Ajax原理&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN&gt;写这篇帖子的目的在于介绍整个&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中的关键点，以我的经验来看着重应该了解的地方的一些罗列。这对初次接触&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;的朋友来说我想是有帮助的。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;模块：在&lt;/SPAN&gt;&lt;SPAN&gt;CS2&lt;/SPAN&gt;&lt;SPAN&gt;中最主要的官方模块有（论坛&lt;/SPAN&gt;&lt;SPAN&gt;Forums&lt;/SPAN&gt;&lt;SPAN&gt;、博客&lt;/SPAN&gt;&lt;SPAN&gt;Blogs&lt;/SPAN&gt;&lt;SPAN&gt;、相册&lt;/SPAN&gt;&lt;SPAN&gt;Galleries&lt;/SPAN&gt;&lt;SPAN&gt;）现在只讨论主要的这三个模块，下面的文字也围绕着这三个模块进行讨论。这三个模块具有一定的共同点，&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;把这三个模块抽象到一起了，这是&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;的核心所在。&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;
&lt;P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;名称&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;说明&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;主要数据表&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;备注&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;基本板块：论坛里表现为论坛的板块，博客里表现为每个人的博客，相册表现为每个人的相册。&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Sections&lt;/SPAN&gt;&lt;SPAN&gt;主要保存模块数据包括模块的组别名称所有者等等。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中很重要的一个概念，几乎所有的逻辑都与此相关。&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;组别，在&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中的几乎所有标准模块都依靠&lt;/SPAN&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;SPAN&gt;进行管理，论坛的&lt;/SPAN&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;SPAN&gt;表现为对论坛板块的分类，博客表现为博客的群组，相册也表现为群组，总之，这些模块都要依赖此进行管理&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Groups&lt;/SPAN&gt;&lt;SPAN&gt;，主要保存分组信息&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;所有&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;都依赖此进行组合，就算一个&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;也需要一个默认&lt;/SPAN&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Settings&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;几乎每张表都有&lt;/SPAN&gt;&lt;SPAN&gt;SettingsID&lt;/SPAN&gt;&lt;SPAN&gt;的字段用来区分不同的应用，因为&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;一个程序可以同时分成多个应用而互不干扰，每个存储过程，每张表都有相应的对&lt;/SPAN&gt;&lt;SPAN&gt;Settings&lt;/SPAN&gt;&lt;SPAN&gt;的筛选&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_SiteSettings&lt;/SPAN&gt;&lt;SPAN&gt;，站点的基本设置以&lt;/SPAN&gt;&lt;SPAN&gt;XML&lt;/SPAN&gt;&lt;SPAN&gt;的形式保存在此&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Sites&lt;/SPAN&gt;&lt;SPAN&gt;站点信息，可设置多个站点&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cs_SiteMappings&lt;/SPAN&gt;&lt;SPAN&gt;站点和&lt;/SPAN&gt;&lt;SPAN&gt;Settings&lt;/SPAN&gt;&lt;SPAN&gt;的对应关系&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;这个概念同样重要，现在很多程序都设计成这样的模式，一句话，尽量灵活，&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;的灵活性非常到位。&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Thread&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;线程，这个感念比较抽象，但在&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中却是很重要的，这个意思可以简单的认为是一个主题，并包含这个主题所有的相关信息，比如回复数，得分等等&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Threads&lt;/SPAN&gt;&lt;SPAN&gt;，保存每个主题信息，&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cs_ThreadsRead&lt;/SPAN&gt;&lt;SPAN&gt;，阅读者对每个主题的阅读情况&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;在每发表一篇主题（非回复）就在此表添加一条记录&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Post&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;表示包括主题在内的所有用户发表的帖子，无论是回复还是投票或主题统统要在此记录&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Posts&lt;/SPAN&gt;&lt;SPAN&gt;，保存&lt;/SPAN&gt;&lt;SPAN&gt;Post&lt;/SPAN&gt;&lt;SPAN&gt;的主要数据表其他与&lt;/SPAN&gt;&lt;SPAN&gt;Post&lt;/SPAN&gt;&lt;SPAN&gt;相关的表还有很多&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;最重要的用户数据表&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Category&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;分类，帖子分类，此分类是针对&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;进行的，每个&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;都可以有自己的分类，在&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中又叫&lt;/SPAN&gt;&lt;SPAN&gt;TAG&lt;/SPAN&gt;&lt;SPAN&gt;，可以适当改造一下就变为时下流行的&lt;/SPAN&gt;&lt;SPAN&gt;TAG&lt;/SPAN&gt;&lt;SPAN&gt;功能&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Post_Categories&lt;/SPAN&gt;&lt;SPAN&gt;＆&lt;/SPAN&gt;&lt;SPAN&gt;cs_Post_Categories_Parents&lt;/SPAN&gt;&lt;SPAN&gt;保存每个&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;的分类统计&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cs_Posts_InCategories&lt;/SPAN&gt;&lt;SPAN&gt;保存每篇帖子对应的分类&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;中只有对每个&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;的分类管理，而缺少对整个网站的分类，我们可以按照&lt;/SPAN&gt;&lt;SPAN&gt;Category&lt;/SPAN&gt;&lt;SPAN&gt;模块进行扩展&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Permission&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;授权，与&lt;/SPAN&gt;&lt;SPAN&gt;Role&lt;/SPAN&gt;&lt;SPAN&gt;角色挂钩，此针对各&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;设置各种角色的对应权限，也就是权限矩阵&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;cs_ProductPermissions&lt;/SPAN&gt;&lt;SPAN&gt;在此保存针对每种应用模块的默认权限。&lt;/SPAN&gt;&lt;SPAN&gt;cs_SectionPermissions&lt;/SPAN&gt;&lt;SPAN&gt;针对各种&lt;/SPAN&gt;&lt;SPAN&gt;Section&lt;/SPAN&gt;&lt;SPAN&gt;的个性权限&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;此处缺少对&lt;/SPAN&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;SPAN&gt;的默认权限，不过根据源代码扩充为支持&lt;/SPAN&gt;&lt;SPAN&gt;Group&lt;/SPAN&gt;&lt;SPAN&gt;默认权限的功能也很容易&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Membership&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;建立在微软的&lt;/SPAN&gt;&lt;SPAN&gt;Membership&lt;/SPAN&gt;&lt;SPAN&gt;组件下的基于角色的用户管理系统，使用此功能对设置权限和对用户相关功能的扩充都非常方便&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;以&lt;/SPAN&gt;&lt;SPAN&gt;asp_net&lt;/SPAN&gt;&lt;SPAN&gt;打头的数据表是&lt;/SPAN&gt;&lt;SPAN&gt;Membership&lt;/SPAN&gt;&lt;SPAN&gt;所需要的，另外&lt;/SPAN&gt;&lt;SPAN&gt;cs&lt;/SPAN&gt;&lt;SPAN&gt;中扩展了&lt;/SPAN&gt;&lt;SPAN&gt;cs_Users&lt;/SPAN&gt;&lt;SPAN&gt;及&lt;/SPAN&gt;&lt;SPAN&gt;cs_UserProfile&lt;/SPAN&gt;&lt;SPAN&gt;等数据表&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;完全依靠&lt;/SPAN&gt;&lt;SPAN&gt;Membership&lt;/SPAN&gt;&lt;SPAN&gt;达键的用户基础管理系统，很多地方值得好好研究&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;B/S&lt;/SPAN&gt;&lt;SPAN&gt;程序需要定时处理的功能，在此称为&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;，我们可以在&lt;/SPAN&gt;&lt;SPAN&gt;communityserver.config&lt;/SPAN&gt;&lt;SPAN&gt;文件中看到那些&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;的配置，运行这些&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;都是在单独的线程中执行，与用户交互无关&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;无&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;可以通过后台管理的&lt;/SPAN&gt;&lt;SPAN&gt;Jobs Report&lt;/SPAN&gt;&lt;SPAN&gt;查看&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;的情况，也可通过查看&lt;/SPAN&gt;&lt;SPAN&gt;Exception Report&lt;/SPAN&gt;&lt;SPAN&gt;查看&lt;SPAN&gt;Jobs&lt;/SPAN&gt;有无运行异常&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;熟悉这些关键词及模块对&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;的掌握至关重要，希望通过此篇介绍能帮助你更快的了解&lt;/SPAN&gt;&lt;SPAN&gt;CS&lt;/SPAN&gt;&lt;SPAN&gt;的基础。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A id=_5f971b9d974_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl00_TitleUrl href="http://dragonpro.cnblogs.com/archive/2006/04/26/385925.html"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5888" width="1" height="1"&gt;</description><category domain="http://www.skyeach.com/blogs/robbie/archive/tags/CS+Tips+_2600_amp_3B00_+Trick/default.aspx">CS Tips &amp;amp; Trick</category></item><item><title>[转]Community Server用户注册过程</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/06/27/5887.aspx</link><pubDate>Tue, 27 Jun 2006 03:40:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5887</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5887.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5887</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;SPAN&gt;下面是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.communityserver.org/" target=_blank&gt;Community Server&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;用户的注册过程，是从&lt;SPAN&gt;sql server&lt;/SPAN&gt;的&lt;SPAN&gt;profiler&lt;/SPAN&gt;跟踪来的，下文从数据库的角度分析一下用户的注册过程，我们的&lt;SPAN&gt;cs&lt;/SPAN&gt;论坛已转换为标准的&lt;SPAN&gt;asp.net 2.0&lt;/SPAN&gt;的&lt;SPAN&gt;membership&lt;/SPAN&gt;，经过对比&lt;SPAN&gt;cs&lt;/SPAN&gt;的用户管理表和标准的&lt;SPAN&gt;asp.net 2.0&lt;/SPAN&gt;的用户管理表结构一模一样，从&lt;SPAN&gt;aspnet_Applications&lt;/SPAN&gt;到&lt;SPAN&gt;aspnet_WebEvent_Events&lt;/SPAN&gt;共&lt;SPAN&gt;11&lt;/SPAN&gt;个表。分析的目的就是为了下一步整合系统，作出自的会员注册系统。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Cs&lt;/SPAN&gt;&lt;SPAN&gt;注册的过程大概分为：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;（存储过程见附&lt;SPAN&gt;1&lt;/SPAN&gt;：中间不重要的部分或写日志的部分不分析）&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;1、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;注册到标准的用户表中&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;2、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;注册到&lt;SPAN&gt;cs&lt;/SPAN&gt;自定的用户表中。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;3、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;给该用户增加&lt;SPAN&gt;Everyone&lt;/SPAN&gt;角色&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;4、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;给该用户增加&lt;SPAN&gt;Registered&lt;/SPAN&gt;角色&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;5、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;将用户的时区、昵称&lt;SPAN&gt;……&lt;/SPAN&gt;的结构和数据添加到&lt;SPAN&gt;aspnet_Profile&lt;/SPAN&gt;表中，&lt;SPAN&gt;cs&lt;/SPAN&gt;初始值只有时区的值默认是&lt;SPAN&gt;8&lt;/SPAN&gt;（东八区），其余的值都为空。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;下面的存储过程好像是修改用户表中的数据。先走主线。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;我们的程序员测试了用标准的&lt;SPAN&gt;asp.net 2.0&lt;/SPAN&gt;的用户注册控件这册用户，顺利注册，但没有注册到&lt;SPAN&gt;aspnet_Profile&lt;/SPAN&gt;中，曾经一直为这个表发愁，不知用什么算法读取这个表中的数据。查了些资料，发现这也是微软标准的字段，原来还以为是&lt;SPAN&gt;cs&lt;/SPAN&gt;自己加上的呢？&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;参考了&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/china/msdn/library/langtool/vbnet/VisualBasic2005chapter6.mspx?mfr=true"&gt;http://www.microsoft.com/china/msdn/library/langtool/vbnet/VisualBasic2005chapter6.mspx?mfr=true&lt;/A&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;文章中的下面一段终于明白了&lt;SPAN&gt;profile&lt;/SPAN&gt;的来龙去脉，其实道理挺简单的。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;如果要加时区&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;1、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;先在&lt;SPAN&gt;web.config&lt;/SPAN&gt;文件中申明（详细的看上面提到的文章）&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&amp;lt;add name = "timezone" type = "System.Double" defaultValue="0" /&amp;gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;2、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;在程序里写：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Profile.&lt;/SPAN&gt;&lt;SPAN&gt; timezone&lt;/SPAN&gt;&lt;SPAN&gt; = txtLastName.Text &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Profile.Save()&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;3、&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;在程序里读：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;txtLastName.Text = Profile.&lt;/SPAN&gt;&lt;SPAN&gt; timezone&lt;/SPAN&gt;&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;B&gt;&lt;SPAN&gt;附&lt;SPAN&gt;1&lt;/SPAN&gt;：上文的节选&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;B&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;B&gt;&lt;SPAN&gt;用户配置文件&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;ASP.NET 2.0 &lt;/SPAN&gt;&lt;SPAN&gt;中的用户配置文件有时称为&lt;I&gt;用户个性化或配置文件个性化&lt;/I&gt;，在&lt;SPAN&gt; Web &lt;/SPAN&gt;站点的&lt;SPAN&gt; web.config &lt;/SPAN&gt;文件中进行配置。可以在该配置文件中以声明性方式声明希望为每个用户存储的数据，然后在某个特殊的 &lt;I&gt;&lt;SPAN&gt;Profile &lt;/SPAN&gt;&lt;/I&gt;对象中填充对应的属性。下面的&lt;SPAN&gt; web.config &lt;/SPAN&gt;文件子集配置&lt;SPAN&gt; Web &lt;/SPAN&gt;站点来存储每个用户的&lt;SPAN&gt; FirstName&lt;/SPAN&gt;和&lt;SPAN&gt; LastName&lt;/SPAN&gt;字符串值：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;?xml version="1.0”?&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;configuration&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;system.web&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;authentication mode="Forms”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;profile inherits="System.Web.Profile.HttpProfileBase, System.Web, &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Version=2.0.3600.0, Culture=neutral, &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;PublicKeyToken=b03f5f7f11d50a3a"&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;add name="FirstName”type="System.String”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;add name="LastName”type="System.String”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/profile&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/system.web&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/configuration&amp;gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Visual Studio 2005 &lt;/SPAN&gt;&lt;SPAN&gt;从&lt;SPAN&gt; web.config &lt;/SPAN&gt;文件读取这些配置信息，并动态地创建从&lt;SPAN&gt; HttpProfileBase &lt;/SPAN&gt;继承的专用类。该专用类包含&lt;SPAN&gt; web.config &lt;/SPAN&gt;文件中定义的具有正确数据类型的所有属性。图&lt;SPAN&gt; 6-12 &lt;/SPAN&gt;例举一个在&lt;SPAN&gt; Intellisense &lt;/SPAN&gt;中可用的自定义配置文件属性。 &lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;B&gt;&lt;SPAN&gt;图&lt;SPAN&gt; 6-12 &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;在&lt;SPAN&gt; Intellisense &lt;/SPAN&gt;中可用的强类型配置文件属性。&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;在运行时，&lt;SPAN&gt;ASP.NET 2.0 &lt;/SPAN&gt;负责管理配置文件数据的持久性。作为程序员，您唯一的任务是读写这些数据。下面的代码说明如何设置&lt;SPAN&gt; FirstName&lt;/SPAN&gt;和&lt;SPAN&gt; LastName&lt;/SPAN&gt;属性，并将它们保存在配置文件数据存储中：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Profile.FirstName = txtFirstName.Text &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Profile.LastName = txtLastName.Text &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Profile.Save()&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;要从 &lt;I&gt;&lt;SPAN&gt;Profile &lt;/SPAN&gt;&lt;/I&gt;对象读回数据，只需颠倒赋值语句即可：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;txtFirstName.Text = Profile.FirstName &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;txtLastName.Text = Profile.LastName&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;默认情况下，这些配置文件属性只能为经过身份验证的用户设置（因此也只为他们存储）。但在有些情况下，当用户匿名浏览站点时，您需要捕获信息；而当该用户登录站点时，您需要维护数据。&lt;SPAN&gt;ASP.NET &lt;/SPAN&gt;用户配置文件本身支持这种情况。必须使用&lt;SPAN&gt; web.config &lt;/SPAN&gt;中的&lt;SPAN&gt; &amp;lt;anonymousIdentification&amp;gt;&lt;/SPAN&gt;元素显式启用匿名配置处理。然后，希望支持匿名用户的任何属性都必须将&lt;SPAN&gt; allowAnonymous&lt;/SPAN&gt;属性设置为&lt;SPAN&gt; true&lt;/SPAN&gt;。下面来自&lt;SPAN&gt; web.config &lt;/SPAN&gt;的&lt;SPAN&gt; XML &lt;/SPAN&gt;显示此应用程序的这些设置：&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;anonymousIdentification enabled="true”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;profile inherits="System.Web.Profile.HttpProfileBase, System.Web, &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;Version=2.0.3600.0, Culture=neutral, &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;PublicKeyToken=b03f5f7f11d50a3a”&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;add name="FirstName”type="System.String”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;add name="LastName”type="System.String”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;add name="FirstVisit”type="System.String”allowAnonymous="true”/&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/properties&amp;gt; &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&amp;lt;/profile&amp;gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;附&lt;SPAN&gt;2&lt;/SPAN&gt;：存储过程分析&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=MsoTableGrid cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;序号&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;存储过程&lt;SPAN&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Exec dbo.aspnet_Membership_GetUserByName @ApplicationName=N'dev',@UserName=N'jgjgjg',@UpdateLastActivity=0,@CurrentTimeUtc=''2006-06-07 07:27:24:470''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;1&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;declare @p12 uniqueidentifier&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;set @p12='0A9D95BF-CA10-4F28-B88F-F0D658443CCB'&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_Membership_CreateUser &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;@ApplicationName=N'dev',@UserName=N'jgjgjg',@Password=N'VZTGpRbu/3W+zY2AudYnv8ISrBA=',@PasswordSalt=N'ckq4OIs24bYpdwxrIbqX4g==',@Email=N'abcc@123.com',@PasswordQuestion=NULL,@PasswordAnswer=NULL,@IsApproved=1,@UniqueEmail=1,@PasswordFormat=1,@CurrentTimeUtc=''2006-06-07 &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;07:27:24:000'',@UserId=@p12 output&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;select @p12&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_Profile_GetProperties @ApplicationName=N'dev',@UserName=N'jgjgjg',@CurrentTimeUtc=''2006-06-07 07:27:24:483''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;2&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;declare @p2 int&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;set @p2=2149&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_user_CreateUpdateDelete @Action=0,@cs_UserID=@p2 &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;output,@UserID='0A9D95BF-CA10-4F28-B88F-F0D658443CCB',@UserAccountStatus=1,@IsAnonymous=0,@IsIgnored=0,@ForceLogin=0,@AppUserToken='',@PropertyNames=default,@PropertyValues=default,@TimeZone=0,@PostRank=default,@PostSortOrder=0,@IsAvatarApproved=1,@ModerationLevel=0,@EnableThreadTracking=0,@EnableAvatar=0,@EnableDisplayInMemberList=1,@EnablePrivateMessages=0,@EnableOnlineStatus=0,@EnableEmail=1,@EnableHtmlEmail=1,@FavoritesShared=0,@SettingsID=1000&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;select @p2&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_EventLog_Add @EventType=0,@EventID=401,@SettingsID=1000,@Message=N'jgjgjg was added from the role Everyone by jgjgjg',@Category=N'Role &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Update',@MachineName=N'KWKJ-FEFDN0OMQU'&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;3&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_UsersInRoles_AddUsersToRoles @ApplicationName=N'dev',@RoleNames=N'Everyone',@UserNames=N'jgjgjg',@CurrentTimeUtc=''2006-06-07 07:27:24:500''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_user_Get @UserName=N'jgjgjg',@UserID=0,@IsOnline=0,@LastAction=N'',@SettingsID=1000&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_Roles_Get @UserID=2149,@SettingsID=1000&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_EventLog_Add @EventType=0,@EventID=401,@SettingsID=1000,@Message=N'jgjgjg was added from the role Registered Users by jgjgjg',@Category=N'Role &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Update',@MachineName=N'KWKJ-FEFDN0OMQU'&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;4&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_UsersInRoles_AddUsersToRoles @ApplicationName=N'dev',@RoleNames=N'Registered Users',@UserNames=N'jgjgjg',@CurrentTimeUtc=''2006-06-07 &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;07:27:24:530''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_Roles_Get @UserID=2149,@SettingsID=1000&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;5&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_Profile_SetProperties &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;@ApplicationName=N'dev',@UserName=N'jgjgjg',@PropertyNames=N'publicEmail:S:0:0:yahooIM:S:0:0:timezone:S:0:1:commonName:S:1:0:signatureFormatted:S:1:0:signature:S:1:0:webLog:S:1:0:location:S:1:0:bio:S:1:0:webAddress:S:1:0:interests:S:1:0:icqIM:S:1:0:aolIM:S:1:0:occupation:S:1:0:msnIM:S:1:0:',@PropertyValuesString=N'8',@PropertyValuesBinary=0x,@IsUserAnonymous=0,@CurrentTimeUtc=''2006-06-07 &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;07:27:24:923''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;6&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_Membership_UpdateUser &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;@ApplicationName=N'dev',@UserName=N'jgjgjg',@Email=N'abcc@123.com',@Comment=NULL,@IsApproved=1,@LastLoginDate=''2006-06-07 &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;07:27:24:000'',@LastActivityDate=''2006-06-07 07:27:24:000'',@UniqueEmail=1,@CurrentTimeUtc=''2006-06-07 07:27:24:937''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.aspnet_Membership_GetUserByName @ApplicationName=N'dev',@UserName=N'jgjgjg',@UpdateLastActivity=0,@CurrentTimeUtc=''2006-06-07 07:27:24:937''&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;exec dbo.cs_user_CreateUpdateDelete &lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;@Action=1,@cs_UserID=2149,@UserID='0A9D95BF-CA10-4F28-B88F-F0D658443CCB',@UserAccountStatus=1,@IsAnonymous=0,@IsIgnored=0,@ForceLogin=0,@AppUserToken='',@PropertyNames=default,@PropertyValues=default,@TimeZone=8,@PostRank=default,@PostSortOrder=0,@IsAvatarApproved=1,@ModerationLevel=0,@EnableThreadTracking=0,@EnableAvatar=0,@EnableDisplayInMemberList=1,@EnablePrivateMessages=0,@EnableOnlineStatus=0,@EnableEmail=1,@EnableHtmlEmail=1,@FavoritesShared=0,@SettingsID=1000&lt;O:P&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;O:P&gt;&amp;nbsp;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5887" width="1" height="1"&gt;</description><category domain="http://www.skyeach.com/blogs/robbie/archive/tags/CS+Tips+_2600_amp_3B00_+Trick/default.aspx">CS Tips &amp;amp; Trick</category></item><item><title>[服务器优化]IIS Compression in IIS6.0</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/06/27/5886.aspx</link><pubDate>Tue, 27 Jun 2006 03:39:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5886</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5886.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5886</wfw:commentRss><description>&lt;P&gt;Hold on to your hats folks. If you don't have compression installed on your web server, either IIS Compression or a 3rd party, and you have IIS6.0 and pay for bandwidth you're missing out on something good. &lt;/P&gt;
&lt;P&gt;In the day of IIS5 and earlier the compression built into IIS had various issues and was really not worth implementing. To enable compression you would need to go with a 3rd party solution like &lt;A href="http://www.port80software.com/"&gt;www.port80software.com&lt;/A&gt; or&amp;nbsp;&lt;A href="http://www.xcompress.com/"&gt;www.xcompress.com&lt;/A&gt;. This has all changed in IIS6! At &lt;A href="http://www.orcsweb.com/"&gt;www.orcsweb.com&lt;/A&gt; we've been running IIS6.0 compression on some servers for a number of month with&amp;nbsp;few issues, just huge performance and bandwidth benefits.&amp;nbsp; Expect upwards of 4 times the compression which directly translates to bandwidth savings.&amp;nbsp; This means faster loading of pages for the end user also.&amp;nbsp; The only time we had to disable it was for&amp;nbsp;a custom audio application for one of our clients that didn't work with compression.&amp;nbsp; I'll mention at the end of this how to disable compression for an individual site.&lt;/P&gt;
&lt;P&gt;First, for those unfamiliar with what IIS6.0 is and how to get it: IIS6.0, short for Internet Information Services 6.0, is the web software that comes with Windows Server 2003. So if you run IIS on W2K3 then you have IIS6.0. If you're wondering if you can get it apart from W2K3, sorry the answer is 'no'. &lt;/P&gt;
&lt;P&gt;One of the issues still there today with compression in IIS is that there isn't a nice interface to manage it. It's not as straight forward as other features of IIS. No need to worry though, I'll explain the ins and outs below of how to implement this properly. I set out to implement IIS Compression a number of months ago and had a hard time finding good information about it. I did find one great post here: &lt;A href="http://dotnetguy.techieswithcats.com/archives/003475.shtml"&gt;http://dotnetguy.techieswithcats.com/archives/003475.shtml&lt;/A&gt;. I've since&amp;nbsp;jumped into this subject in more depth and have two things to add to Brad Wilson's article. One, an iisreset is required as I'll mention below but also there is another setting that is required for compression to be more practical for dynamic compression. The other link worth bookmarking is: &lt;A href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/ref_prog_iaorefcompschs.asp"&gt;http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/ref_prog_iaorefcompschs.asp&lt;/A&gt;. (I won't make any promises that this link will always work, Microsoft seems to change their links to documents all the time) &lt;/P&gt;
&lt;P&gt;To make it easier I'll include everything needed to properly enable IIS Compression below even though I'll repeat what Brad Wilson said.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;First, before anything else, backup the metabase.&amp;nbsp; &lt;/EM&gt;&lt;/STRONG&gt;This is done by right-clicking on the server in the IIS snap-in and selecting All Tasks&amp;nbsp;-&amp;gt; Backup/Restore Configuration.&amp;nbsp; The rest is straight forward.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Create Compression Folder (optional)&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;The first thing I do is create a folder on the D drive where the static file compression will be cached. I call it ASPNetCompressTemp but you can call it anything you want or leave the default of “%windir%\IIS Temporary Compressed Files” if that works for you. The IUSR_{machinename} will need write permission to the folder. If you use custom anonymous users, make sure to assign the proper user. IIS will still work even if the permissions are wrong but the compression won't work properly. Once running, it's worth double checking Event Viewer to see if any errors are occurring that keep IIS Compression from working.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Enable Compression in IIS&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;- From the IIS snap-in, right-click on the Web Sites node and click on Properties &lt;BR&gt;- Select the Service tab - Enable &lt;EM&gt;Compress application files&lt;/EM&gt; &lt;BR&gt;- Enable &lt;EM&gt;Compress static files&lt;/EM&gt; &lt;BR&gt;- Change Temporary Directory to the folder that you created above, or leave it at it's default &lt;BR&gt;- Set the max size of the temp folder to something that the hard drive can handle. i.e. 1000.&amp;nbsp;&lt;BR&gt;- Save and close the Web Site Properties dialog &lt;/P&gt;
&lt;P&gt;Note: The temporary compress directory is only used for static pages.&amp;nbsp; Dynamic pages aren't saved to disk and are recreated every time so there is some CPU overhead used on every page request for dynamic content.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Create a Web Service Extension (WSE)&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;IIS6.0 is much more proactive than IIS5 in regards to security and introduces a new feature called Web Service Extensions. This is great but means an extra step. &lt;/P&gt;
&lt;P&gt;- In the IIS snap-in select Web Service Extensions &lt;BR&gt;- Create a new web service extension &lt;BR&gt;- Call it HTTP Compression &lt;BR&gt;- Point it to c:\windows\system32\inetsrv\gzip.dll &lt;BR&gt;- Check the Set status checkbox so that it is enabled (Allowed) Enable Direct Metabase Edit (optional) One of many large improvement with IIS 6 is that the metabase isn't in binary format anymore and can be edited directly using Notepad or any other tools that allows editing an XML file. Personally I prefer to enable Direct Metabase Edit so that I can edit it and the change takes affect immediately. If this isn't enabled, you will need to stop and start the web services for any changes to take affect. Of course, like editing the windows registry there is always the chance of something going wrong so be careful. Unlike the windows registry though, if you make a mistake and the metabase is saved and doesn't conform to the proper XML scheme, it won't take affect, so thanks to the IIS team it's quite difficult to completely mess up the metabase. To enable this, right-click on the server (top level) in the IIS snap-in. There is a single checkbox that needs to be checked. This part couldn't get easier. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Now for the metabase changes &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Now we move away from the IIS snap-in GUI and have to get our hands dirty. (well, as dirty as they can get when dealing with computer software) &lt;/P&gt;
&lt;P&gt;Here is where the IIS team either wanted to make things a bit difficult or they didn't get the changes done in time for the final release of IIS6. Actually it's the latter as I've heard rumor that they will be improving on the GUI over time. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Note: If you want to save yourself the hassle of understanding all of this,&amp;nbsp;purchase ZipEnable from Port80 Software.&amp;nbsp; &lt;/EM&gt;&lt;A href="http://www.port80software.com/products/zipenable/"&gt;&lt;EM&gt;http://www.port80software.com/products/zipenable/&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;.&amp;nbsp; This is a tool that gives you full control down to&amp;nbsp;the folder and file level and embeds itself into the IIS MMC snap-in, making things much easier.&amp;nbsp; I haven't tried this out so I can't attest to it myself but Port80 Software is a company that Microsoft has recommended for years to use if you want&amp;nbsp;HTTP Compression.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;There are a couple ways to do this. One is to edit the metabase directly using Notepad and the other is using adsutil.vbs usually found in your C:\Inetpub\AdminScripts folder. I'll explain the direct edit method because I find it's easier to picture and understand what is happening then using a command-line tool.&lt;/P&gt;
&lt;P&gt;- Open the metabase located at C:\Windows\system32\inetsrv\metabase.xml in Notepad&lt;BR&gt;- Search for &amp;lt;IIsCompressionScheme&amp;nbsp; &lt;BR&gt;- There should be two of them, one for &lt;EM&gt;deflate &lt;/EM&gt;and one for &lt;EM&gt;gzip&lt;/EM&gt;.&amp;nbsp; Basically they are two means of compression that IIS supports.&lt;BR&gt;- First thing to do is add aspx,&amp;nbsp;&amp;nbsp;asmx, php and any other extension that you need&amp;nbsp;to the list extensions in HcScriptFileExtensions.&amp;nbsp; Make sure to follow the existing format carefully, an extra space will keep this from working correctly.&amp;nbsp; Do this for both deflate and gzip.&lt;BR&gt;- Now for the other thing commonly missed.&amp;nbsp; HcDynamicCompressionLevel has a default value of 0.&amp;nbsp; Basically this means at if you did everything else right, the compression for dynamic contact is at the lowest level.&amp;nbsp; The valid range for this is from 0 to 10.&amp;nbsp; I had the opportunity of receiving an internal testing summary from Chris Adams from Microsoft regarding the compression level -vs- CPU usage which showed that the CPU needed for levels 0 - 9 is fairly low but for level 10 it hits the roof.&amp;nbsp; Yet the compression for level 9 is nearly as good as level 10.&amp;nbsp; I write all this to say that I recommend level 9 so make sure to change HcDynamicCompressionLevel to 9.&amp;nbsp; Do this for both deflate and gzip.&lt;/P&gt;
&lt;P&gt;- Just one thing left.&amp;nbsp; There are two settings that required the World Wide Web Publishing Service (WWW service) be reset.&amp;nbsp; One was enabling compression and the other was HcDynamicCompressionLevel.&amp;nbsp; Even with its shortcomings I simply do an &lt;EM&gt;iisreset&lt;/EM&gt; from the command prompt but you can reset the service whichever way you prefer.&lt;/P&gt;
&lt;P&gt;That's it folks.&amp;nbsp; I didn't promise it would be easy but hopefully&amp;nbsp;I was&amp;nbsp;straight forward enough in my steps to keep this from being too difficult.&lt;/P&gt;
&lt;P&gt;I should mention it is possible to disable or enable compression at the site or sub-folder level.&amp;nbsp; This time I'll be lazy and tell you the adsutil.vbs way to do this but it can be done directly using Notepad and editing the metabase directly if you prefer.&amp;nbsp; From the command prompt enter the following two commands and be sure to replace site# with the siteID that you are changing:&lt;/P&gt;
&lt;P&gt;cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoStaticCompression False&lt;BR&gt;cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoDynamicCompression False&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Follow-up blog:&lt;/STRONG&gt; &lt;A href="http://weblogs.asp.net/owscott/archive/2004/01/16/59594.aspx"&gt;http://weblogs.asp.net/owscott/archive/2004/01/16/59594.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P class=postfoot&gt;posted on Monday, January 12, 2004 9:49 AM&lt;/P&gt;
&lt;P class=postfoot&gt;原文地址：&lt;A href="http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx"&gt;http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5886" width="1" height="1"&gt;</description><category domain="http://www.skyeach.com/blogs/robbie/archive/tags/_167F0B7ABE8BA18B_/default.aspx">编程设计</category></item><item><title>新增在线聊天功能gabbly</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/06/26/5881.aspx</link><pubDate>Mon, 26 Jun 2006 05:08:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5881</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5881.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5881</wfw:commentRss><description>&lt;P&gt;大家试试看：）&lt;BR&gt;就在首页面的右竖菜单栏。&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5881" width="1" height="1"&gt;</description></item><item><title>达芬奇密码※天主事工会※郇山隐修会</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/05/26/5479.aspx</link><pubDate>Fri, 26 May 2006 06:01:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5479</guid><dc:creator>大兵</dc:creator><slash:comments>1</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5479.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5479</wfw:commentRss><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《达芬奇密码》，23日被连蒙带骗的拐去看了这部已经看过小说的大片。没想到不是首映日票还是卖的这么快，7点多到新东安电影院只买到10：30的晚场。好在两个半钟头的电影不太令我失望，和看小说的感觉一样，前半部分比较吸引人，后面当秘密不是秘密的时候我就兴趣乏乏了（特别是发现这个秘密对男人以及不信基督的人没什么关系的时候：）。电影基本忠于原小说，前半部分比较吸引人，当大家都明白隐修会的秘密原来就是保护耶稣后人，所谓的圣杯也只是耶稣的老婆之后，影片和小说的神秘感一下就没有了，情节也就平平淡淡，难怪我身旁一个帅哥呼呼大睡了起来。结尾汤姆&lt;FONT size=2&gt;·&lt;/FONT&gt;汉克斯跑去跪在卢浮宫玻璃金子塔上的情景有一点小小的震撼。（贝聿铭的设计为国人挣了不少面子：）&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;出于好奇在网上找了找出现在《达芬奇密码》中的两个神秘组织：天主事工会和&amp;nbsp;郇山隐修会的信息。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;天主事工会Opus Dei，这个西文词组是拉丁文，意思是天主之事，是真正的天主教团体，受罗马教皇的认可，其创始人前两年刚被封为圣人。这个团体创立于1928年的马德里，追求在日常工作生活中成为圣徒，也就是不必入教，甚至不必真正加入这个团体。当然这个团体在全球范围内有85000来真正的会员，美国有3000来人（Time），在纽约有一座刚建成没几年的大楼。入会后有相当严格的戒律，比如禁欲，男女分开，苦修（在大腿上绑一个满是尖刺的苦修带，每天2小时），也有说法说他们死后要把财产捐给这个会。同时会员要求保持隐秘状态。它的发展对象是高层次人士，像大学生等，因此据说在某些上层有极大的影响力。&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;郇山隐修会是书中提到另一个神秘组织，书中说他们有关于基督教起源的另外的说法，而天主事工会则是罗马的支持者，这就是他们之间的冲突。者据说有上千年历史，有包括牛顿、达芬奇和雨果在内的多位大师为领袖，该会英文名Priory of Zion，所以又叫锡安会（看过黑客帝国后应该对Zion有点印象，耶路撒冷的一个地方），于是又同几百年前的圣殿骑士团拉上了关系。实际上，历史上找不到任何这个组织的记录，而法国那里倒有这个组织的档案，它成立于1956年，目前已经没有什么活动，在它短暂的历史上也没有什么惊人之举（或者像电影中说的从事的活动太神秘，所以会外的人都不了解：）。&lt;BR&gt;&lt;BR&gt;神秘的东西，了解一下 &lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5479" width="1" height="1"&gt;</description></item><item><title>家园更新小计20060515</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/05/15/5364.aspx</link><pubDate>Mon, 15 May 2006 05:54:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5364</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5364.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5364</wfw:commentRss><description>&lt;P&gt;&lt;BR&gt;&lt;FONT size=2&gt;上周末完成了家园新版本的更新，比预计的五一期间整整晚了一个星期（PS：主要是自己太贪玩了，五一七天基本都北京附近的景点晃悠）&lt;BR&gt;本次更新主要完成了CCS1.1至CS2.0程序的更换，因此在一些功能上有一些变化：&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT size=2&gt;整站使用的编辑器（包括论坛中发贴的编辑器）&lt;BR&gt;新的编辑器不支持多附件功能，但整体功能更强大，其图片插入功能可以让你直接将家园中你拥有权限的图片嵌入帖子，即你可以发布在相册中的图片直接抓取过来放入博客或论坛的帖子。还有其他比较好的功能，大家自行试用即知。 &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;论坛斑竹将不再向以前那样设置在论坛版块上了，而是按照家园有的功能模块来划分的，因此原来按论坛版块划分的斑竹将被取消，后续的更新也许会恢复论坛的斑竹功能。 &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;新增下载模块和资讯模块，下载模块已经可以使用，资讯模块类似于一个在线的RSS Reader，因为CS开源版本的限制，只开放250个个人定制RSS功能，现在放在页面上的是公共的RSS新闻，用户不能根据自己的兴趣增删RSS Feed。那250个可定制的RSS Reader将在在线RSS Reader界面定制好以后，开放给论坛斑竹以及主要的管理员。至于250个用完以后，也许...可能自己作一个可定制的在线RSS功能。 &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;亲亲版块直接放置在页顶菜单作为家园主打版块，同时也是司令原来荆程网站到亲亲自然网站到现在和蓝色家园合作的独立网站，主要是户外、旅行和摄影专用的论坛，这也是家园网站和亲亲网站主要开办的目的，分享户外知识、经验和漂亮的户外相片。现在其功能还主要局限在论坛版块功能，希望以后的更新能引入WIKI（维基）功能，以将亲亲版块做成类似户外百科全书类型的版块，为大家进行徒步和户外提供有用的指引和帮助。 &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;博客、相册功能结合的更加紧密，用户可以无缝的使用自己在相册发布的图片，自己上传的文件以及家园中提供的公共资源。新版本CS中集成了componentART的SlideShow功能，在相册中现在可以用很漂亮的Flash幻灯方式查看图片（忘了在首页放置连接了），大家可以在相册里找到，也可以先在这里试用： &lt;/FONT&gt;&lt;A id=SlideShowLink&gt;&lt;FONT size=2&gt;作为幻灯片查看&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;家园的目的和办站的方向，为家园网友提供一个自由的定制的家园系统，除了维护博客和相册之外，将逐步提供可定制的信息浏览功能，包括用户自行添加喜爱的网站连接、添加新闻RSS&amp;nbsp; &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=2&gt;其他...家园的后续更新将根据网友的建议进行改进，以方便大家使用和提供更多信息。&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5364" width="1" height="1"&gt;</description></item><item><title>计划追赶变化</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/03/08/5211.aspx</link><pubDate>Wed, 08 Mar 2006 02:47:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5211</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5211.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5211</wfw:commentRss><description>&lt;P&gt;计划确实永远赶不上变化，但是计划还是要做：）&lt;/P&gt;
&lt;P&gt;因为工作的缘故要长期漂泊在外了，出来以后手头的工作也比较多。很多事情也因此而滞后，这里要给明明说声抱歉了。&lt;/P&gt;
&lt;P&gt;家园的改版也说了很久，一是上月中官方版本才发布，二是新版本又有很多改变，三是升级新版需要进行数据库的转换，四是界面的开发也拖了很久，五是在外面要连上服务器好慢（真的好慢&lt;IMG height=35 src="/Emoticons/13.gif" width=34&gt;......在这里谴责一下电信和网通），最后归结来还是自己太懒了。不过家园和亲亲还是在改版中，新版本应该会给大家带来惊喜的：）&lt;/P&gt;
&lt;P&gt;家园新版本功能预览：&lt;A&gt;www.skyeach.com&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5211" width="1" height="1"&gt;</description></item><item><title>Because your birthday is special</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/01/31/5168.aspx</link><pubDate>Mon, 30 Jan 2006 18:31:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5168</guid><dc:creator>大兵</dc:creator><slash:comments>1</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5168.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5168</wfw:commentRss><description>&lt;P&gt;Because your birthday is special .&lt;/P&gt;
&lt;P&gt;Set apart from other days .&lt;/P&gt;
&lt;P&gt;Because it should be spent in all the very finest ways ,&lt;/P&gt;
&lt;P&gt;This wish is for the joys you're fondest of .&lt;/P&gt;
&lt;P&gt;Because you have a special way of sharing warmth and cheer ,&lt;/P&gt;
&lt;P&gt;This wish is sent your way with world of love !&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5168" width="1" height="1"&gt;</description></item><item><title>新的一年做好一件事</title><link>http://www.skyeach.com/blogs/robbie/archive/2006/01/02/5108.aspx</link><pubDate>Mon, 02 Jan 2006 06:13:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5108</guid><dc:creator>大兵</dc:creator><slash:comments>2</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5108.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5108</wfw:commentRss><description>&lt;P&gt;转眼我人生中的第二个本命年过去了，第一个本命年如何度过早已不记得了，当时还没有这种概念，也不在乎。&lt;/P&gt;
&lt;P&gt;身边挺多朋友多是属鸡的朋友，去年年初大家讨论到本命年的问题，谈到本命年的忌讳和避邪的方法：）&lt;/P&gt;
&lt;P&gt;现在回顾起来去年鸡儿们的命运确是坎坷，多少无辜的同类因禽流感而...&lt;/P&gt;
&lt;P&gt;公历新年和农历新年先后到来，给忙碌了一整年的人们带来了两个修整和抖擞的新起点。&lt;/P&gt;
&lt;P&gt;对过去的一年不太满意的，可以在公历新年就告诉自己旧的一年已经过去，新的一年有更多的机会和梦想需要完成&lt;/P&gt;
&lt;P&gt;对过去的一年依依不舍的，则大可以继续享受这种满足，放松一下自己，到农历春节，在开始迎接新一年的开始...&lt;/P&gt;
&lt;P&gt;新的一年，新开始，选择了一个起点，做好这一年中的一件事&lt;/P&gt;
&lt;P&gt;没想到自己在06年的二天就要出差，到底要不要就此作为起点呢？&lt;IMG src="/Emoticons/taobao/039.gif"&gt;伤脑筋。&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5108" width="1" height="1"&gt;</description></item><item><title>按照自己的思路回答问题</title><link>http://www.skyeach.com/blogs/robbie/archive/2005/12/14/5068.aspx</link><pubDate>Wed, 14 Dec 2005 03:09:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5068</guid><dc:creator>大兵</dc:creator><slash:comments>3</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5068.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5068</wfw:commentRss><description>&lt;P&gt;今天看到了两道据说为微软面试题的问题，其一是海盗分金问题，已经发到论坛中了，推理的过程很有趣，大家有兴趣可以讨论一下；）&lt;/P&gt;
&lt;P&gt;其二是：下水道的盖子为什么是圆的？&lt;/P&gt;
&lt;P&gt;遇到这种问题我的第一反应是因为圆的覆盖的面积最大，另外圆的无论如何都不可能掉进下水道里，其他形状都有可能掉下去。&lt;/P&gt;
&lt;P&gt;然后就没有了... ...看来脑筋已经明显僵化，失去创造力了：（&lt;/P&gt;
&lt;P&gt;看看面试这位理查德·范曼的回答：&lt;/P&gt;
&lt;P&gt;面试官：现在我们要问一个问题，看看你的创造性思维能力。不要想得太多，运用日常生活中的常识，描述一下你的想法。这个问题是，下水道的井盖为什么是圆的？ &lt;/P&gt;
&lt;P&gt;范曼：它们并不都是圆的，有些是方的，的确有些圆井盖，但我也看过方的，长方的。 &lt;/P&gt;
&lt;P&gt;面试官：不过我们只考虑圆形的井盖，他们为什么是圆的？ &lt;/P&gt;
&lt;P&gt;范曼：如果我们只考虑圆的，那么它们自然是圆的。 &lt;FONT color=#ff0000&gt;（考官：％＃￥◎※……)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;面试官：我的意思是，为什么会存在圆的井盖？把井盖设计成圆形的有什么特殊的意义吗？ &lt;/P&gt;
&lt;P&gt;范曼：是有特殊意义，当需要覆盖的洞是圆形时，通常盖子也是圆的。用一个圆形的盖子盖一个圆形的洞，这是最简单的办法。 &lt;/P&gt;
&lt;P&gt;面试官：你能想到一个圆形的井盖比方形的井盖有哪些优点吗？ &lt;/P&gt;
&lt;P&gt;范曼：在回答这个问题之前，我们先看看盖子下面是什么。盖子下面的洞是圆的，因为圆柱形最能承受周围土地的压力。而且，下水道出孔要留出足够一个人通过的空间，而一个顺着梯子爬下去的人的横截面基本是圆的，所以圆形自然而然地成为下水道出入孔的形状。圆形的井盖只是为了覆盖圆形的洞口。 &lt;/P&gt;
&lt;P&gt;面试官：你认为存在安全方面的考虑吗？我的意思是，方形的井盖会不会掉进去，因此造成人身伤害？ &lt;/P&gt;
&lt;P&gt;范曼：不大可能。有时在一些方形洞口上也会看到方形的盖子。这种盖子比入口大，周围有横挡，通常这种盖子是金属质地，非常重。我们可以想象一下，两英尺宽的方形洞口，1到1.5英寸宽的横挡。为了让井盖掉进去，需要抬起一端，然后旋转30度，这样它就不受横挡的妨碍了，然后再将井盖与地平线成45度角，这时转移的重心才足以让井盖掉下去。是的，方形的井盖的确存在掉下去的可能，但可能性很小，只要对负责开井盖的人稍加培训，他就不会犯这样的错误。从工程学来看，井盖的形状完全取决于它要覆盖的洞口的形状。 &lt;/P&gt;
&lt;P&gt;面试官：(面有难色)我要与管理层谈点事情。(离开了房间) &lt;/P&gt;
&lt;P&gt;10分钟后，面试官回来了。 &lt;/P&gt;
&lt;P&gt;面试官：我们推荐你立刻去推销部工作。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;（理查德·范曼：％＃￥◎※，我面试的是管理岗…………)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5068" width="1" height="1"&gt;</description></item><item><title>Google成功的十大黄金准则</title><link>http://www.skyeach.com/blogs/robbie/archive/2005/12/07/5001.aspx</link><pubDate>Wed, 07 Dec 2005 07:32:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:5001</guid><dc:creator>大兵</dc:creator><slash:comments>0</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/5001.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=5001</wfw:commentRss><description>&lt;P&gt;成功的公司总有类似的原因，失败的公司各有各的不同。在最新的Newsweek上Google的CEO和顾问提出了十大黄金准则(Google: Ten Golden Rules)，收录如下：&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Hire by committee 
&lt;LI&gt;Cater to their every need (Their指的是程序员的） 
&lt;LI&gt;Pack them in (即共享的办公空间） 
&lt;LI&gt;Make coordination easy 
&lt;LI&gt;Eat your own dog food 
&lt;LI&gt;Encourage creaticity 
&lt;LI&gt;Strive to reach consensus (Manager的任务是聚合观点而不是断然做决定） 
&lt;LI&gt;Don't be evil 
&lt;LI&gt;Data driven decisions 
&lt;LI&gt;Communicate effectively.&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=5001" width="1" height="1"&gt;</description></item><item><title>终于解决了，临出差前松了一口气</title><link>http://www.skyeach.com/blogs/robbie/archive/2005/11/22/4771.aspx</link><pubDate>Tue, 22 Nov 2005 15:53:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:4771</guid><dc:creator>大兵</dc:creator><slash:comments>2</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/4771.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=4771</wfw:commentRss><description>&lt;P&gt;好在解决了，好开心，可以安心睡觉去了：）&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=4771" width="1" height="1"&gt;</description></item><item><title>流入猎户座</title><link>http://www.skyeach.com/blogs/robbie/archive/2005/11/09/4635.aspx</link><pubDate>Wed, 09 Nov 2005 04:13:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:4635</guid><dc:creator>大兵</dc:creator><slash:comments>1</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/4635.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=4635</wfw:commentRss><description>&lt;P&gt;工作已经将近完成。&lt;BR&gt;晚饭后到直升机平台走走&lt;BR&gt;虽然已经是深秋，在平台上都是穿着短袖活动的&lt;BR&gt;海上的气温并不很低，水的比热容很大，白天天气好晚上的就不会太冷&lt;BR&gt;天色已经很黑，满天的星星&lt;BR&gt;&lt;BR&gt;猎户座在南偏东方向，在南油看到的猎户座基本在头顶上&lt;BR&gt;要不是平台的灯光比较亮，星空应该跟漂亮&lt;BR&gt;和身边的工友说着话，恰好看到一颗流星在猎户座上滑过&lt;BR&gt;&lt;BR&gt;想起恩雅的这首曲子ORINOCO FLOW，也许也是这么找到创作灵感的吧&lt;BR&gt;我猜...&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=4635" width="1" height="1"&gt;</description></item><item><title>感受风浪</title><link>http://www.skyeach.com/blogs/robbie/archive/2005/11/01/4474.aspx</link><pubDate>Tue, 01 Nov 2005 02:49:00 GMT</pubDate><guid isPermaLink="false">90565185-a560-414a-b75a-47cea1028fbe:4474</guid><dc:creator>大兵</dc:creator><slash:comments>2</slash:comments><comments>http://www.skyeach.com/blogs/robbie/comments/4474.aspx</comments><wfw:commentRss>http://www.skyeach.com/blogs/robbie/commentrss.aspx?PostID=4474</wfw:commentRss><description>&lt;P&gt;近来海面上的风浪都比较大，从井口平台回来的时候坐了一次拖轮，一个多钟头的航程像过了大半天那么久。&lt;/P&gt;
&lt;P&gt;后面实在晃得难受，昏沉沉的直接在餐厅的长椅上睡着了。&lt;/P&gt;
&lt;P&gt;醒来的时候已经回到中心平台下了，晕乎乎的走到后面坐吊篮，一个浪头打来拖轮后面的甲板灌满了海水&lt;/P&gt;
&lt;P&gt;穿好救生衣，依然头晕，心里只有一个念头，抱紧吊蓝......&lt;/P&gt;
&lt;P&gt;晚上在海面上望上来，春晓中心平台流光四溢，还是挺漂亮的。&lt;/P&gt;
&lt;P&gt;瞎想中吊蓝已经上到CEP甲板了&lt;/P&gt;
&lt;P&gt;深秋东海海面晚上气温已经很低，就穿了件工衣，又饿又冷，赶紧往生活区里赶&lt;/P&gt;
&lt;P&gt;好在餐厅还有饭，居然没有影响到食欲&lt;/P&gt;
&lt;P&gt;事实证明，只要吃饱了，我还是不怕风浪的&lt;/P&gt;
&lt;P&gt;还有晚上的一千米...&lt;/P&gt;&lt;img src="http://www.skyeach.com/aggbug.aspx?PostID=4474" width="1" height="1"&gt;</description></item></channel></rss>