﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-NET人生</title><link>http://www.cnblogs.com/badboy2008/</link><description>自已收集的一些文章，以供需要时查找方便</description><language>zh-cn</language><lastBuildDate>Sat, 22 Nov 2008 21:00:29 GMT</lastBuildDate><pubDate>Sat, 22 Nov 2008 21:00:29 GMT</pubDate><ttl>60</ttl><item><title>验证视图状态 MAC 失败</title><link>http://www.cnblogs.com/badboy2008/archive/2008/02/25/1080037.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Mon, 25 Feb 2008 00:54:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2008/02/25/1080037.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/1080037.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2008/02/25/1080037.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/1080037.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/1080037.html</trackback:ping><description><![CDATA[<P>运行程序发现以下错误：<BR><BR><BR>验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载，请确保 &lt;machineKey&gt; 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。<BR><BR><BR>我是在个人电脑上进行运行，怎么会出现这种错误呢？<BR>在网上查了不少资料说是在web.config里改一下page的属性设置，我奇怪的是为什么别的程序没有出事这种问题？是同样一台电脑啊？为什么会出现这种错误？想请问大伙！<BR><BR></P><img src ="http://www.cnblogs.com/badboy2008/aggbug/1080037.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43629/" target="_blank">[新闻][译稿]微软将 jQuery IntelliSense整合到Visual Studio</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>将 ASP.NET 输出缓存与 SQL Server 结合使用</title><link>http://www.cnblogs.com/badboy2008/archive/2007/07/16/820104.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Mon, 16 Jul 2007 09:00:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/07/16/820104.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/820104.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/07/16/820104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/820104.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/820104.html</trackback:ping><description><![CDATA[转载：<A href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx">http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx</A><BR><BR>
<P>ASP.NET 输出缓存的一项高级功能是 SQL 缓存依赖项。SQL 缓存依赖项使您可以缓存依赖于 SQL Server 表中数据的页。您可以配置 SQL Server 和 ASP.NET 以缓存页请求，降低服务器工作负荷，直到页所依赖的数据已在 SQL Server 中更新为止。对于相对保持静态的产品目录或客户注册信息等数据而言，SQL 缓存依赖项很有用。 </P>
<P>本演练中阐释的任务包括： </P>
<UL>
<LI>
<P>创建并配置页，以显示 Northwind 数据库中的数据。</P>
<LI>
<P>为 SQL 缓存通知启用数据库。</P>
<LI>
<P>在页以及 Web.config 文件中指定 SQL 缓存依赖项。</P>
<LI>
<P>对 Northwind 数据库进行更改并查看缓存行为。</P></LI></UL>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl062db306a,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl06img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl062db306a','ctl00_LibFrame_ctl06img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl06img alt=先决条件 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>先决条件</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl062db306a style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl06><A name=prerequisitesToggle>
<P>若要完成本演练，您需要：</P>
<UL>
<LI>
<P>对具有 Northwind 数据库的 SQL Server 2000 或 SQL Server 2005 的访问。</P>
<LI>
<P>SQL Server Northwind 数据库的访问权限。有关下载和安装 SQL Server 示例数据库 Northwind 的信息，请参见位于 Microsoft SQL Server 网站上的<A onclick="javascript:Track('ctl00_LibFrame_ctl06|ctl00_LibFrame_ctl07',this);" href="http://go.microsoft.com/fwlink/?linkid=63298">“Installing Sample Databases”（安装示例数据库）</A>。</P>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>如果需要有关如何登录到运行 SQL Server 的计算机的信息，请与服务器管理员联系。</P></TD></TR></TBODY></TABLE></DIV>
<LI>
<P>Microsoft 数据访问组件 (MDAC) 2.7 版或更高版本。</P>
<P>如果您使用的是 Windows XP 或 Windows Server 2003，那么您已经有了 MDAC 2.7。但是，如果使用 Windows 2000，您可能需要升级您计算机上已经安装的 MDAC。有关更多信息，请参见 MSDN 文章<A onclick="javascript:Track('ctl00_LibFrame_ctl06|ctl00_LibFrame_ctl08',this);" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmdac/html/data_mdacinstall.asp">“MDAC Installation”（MDAC 安装）</A>。</P>
<LI>
<P>.NET Framework 2.0 版。</P></LI></UL></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl091330648,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl09img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl091330648','ctl00_LibFrame_ctl09img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl09img alt=创建网站 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>创建网站</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl091330648 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl09><A name=sectionToggle0>
<P>如果您已在 Visual Web Developer 中创建了网站（请参见 <A onclick="javascript:Track('ctl00_LibFrame_ctl09|ctl00_LibFrame_ctl10',this);" href="http://msdn2.microsoft.com/zh-cn/library/k4cbh4dh(VS.80).aspx">演练：在 Visual Web Developer 中创建基本网页</A>），则可以使用该网站并转至本演练的后面部分“为 SQL Server 启用缓存通知”。否则，按照下面的步骤创建一个新的网站和网页。</P>
<H3 class=procedureSubHeading>创建文件系统网站</H3>
<DIV class=subSection>
<OL>
<LI>
<P>打开 Visual Web Developer。</P>
<LI>
<P>在“文件”菜单上单击“新建网站”。（在 Visual Web Developer 速成版中，在“文件”菜单上单击“新建”，然后单击“网站”。）</P>
<P>出现“新建网站”对话框。</P>
<LI>
<P>在“Visual Studio 已安装的模板”之下单击“ASP.NET 网站”。</P>
<LI>
<P>在“位置”框中输入要保存网站页面的文件夹的名称。 </P>
<P>例如，键入文件夹名 C:\WebSites。</P>
<LI>
<P>在“语言”列表中，单击您想使用的编程语言。</P>
<LI>
<P>单击“确定”。</P>
<P>Visual Web Developer 创建该文件夹和一个名为 Default.aspx 的新页。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl11a97b053,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl11img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl11a97b053','ctl00_LibFrame_ctl11img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl11img alt="为 SQL Server 启用缓存通知" src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>为 SQL Server 启用缓存通知</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl11a97b053 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl11><A name=sectionToggle1>
<P>必须配置 SQL Server 以就依赖数据中的更改向 ASP.NET 提供合适的通知。您需要具有管理特权才能配置服务器。</P>
<H3 class=procedureSubHeading>为 SQL Server 启用缓存通知</H3>
<DIV class=subSection>
<OL>
<LI>
<P>在 Windows“启动”菜单中，指向“所有程序”，指向“附件”，然后单击“命令提示符”以打开命令提示窗口。</P>
<LI>
<P>在磁盘驱动器中找到 Aspnet_regsql.exe 可执行文件。此文件随 .NET Framework 2.0 版安装在下面的位置：</P>
<DIV class=code id=ctl00_LibFrame_ctl12_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl12other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl12other space="preserve">%windir%\Microsoft.NET\Framework\FrameworkVersion</PRE></DIV>
<P>确保 <TT>%windir%</TT> 表示 Windows 目录并且 .NET Framework 版本为 2.0 或更高版本。该路径可能看起来类似于下面这样：</P>
<DIV class=code id=ctl00_LibFrame_ctl13_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl13other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl13other space="preserve">C:\WINDOWS\Microsoft.NET\Framework\v2.0.40217</PRE></DIV>
<LI>
<P>使用下面的命令为 Northwind 数据库中的 Employees 表启用缓存通知：</P>
<DIV class=code id=ctl00_LibFrame_ctl14_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl14other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl14other space="preserve">aspnet_regsql.exe -S &lt;Server&gt; -U &lt;Username&gt; -P &lt;Password&gt; -ed -d Northwind -et -t Employees</PRE></DIV>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>您需要具有管理特权，或管理帐户和密码。如果没有此信息，请与数据库管理员联系。</P></TD></TR></TBODY></TABLE></DIV>
<P>将出现一条消息，指示启用数据库的成功与失败。下面的消息指示成功：</P>
<DIV class=code id=ctl00_LibFrame_ctl15_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl15other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl15other space="preserve">Enabling the table for SQL cache dependency.
..
Finished.</PRE></DIV></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl169c812bc,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl16img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl169c812bc','ctl00_LibFrame_ctl16img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl16img alt=向项目中添加数据连接 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>向项目中添加数据连接</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl169c812bc style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl16><A name=sectionToggle2>
<P>要在 Visual Web Developer 中使用 SQL Server 数据库，您需要向 Northwind 数据库添加连接。</P>
<H3 class=procedureSubHeading>向项目添加数据源</H3>
<DIV class=subSection>
<OL>
<LI>
<P>在“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”）中，右击“数据连接”，然后单击“添加连接”。 </P>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”）通常停靠在解决方案资源管理器后面。</P></TD></TR></TBODY></TABLE></DIV>
<P>如果“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”）不可见，则在“视图”菜单中单击“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”）。</P>
<LI>
<P>如果显示“选择数据源”对话框，则执行以下操作：</P>
<OL>
<LI>
<P>在“数据源”列表中，单击“Microsoft SQL Server”。</P>
<LI>
<P>在“数据提供程序”列表中，单击“用于 SQL Server 的 .NET Framework 数据提供程序”。</P>
<LI>
<P>单击“继续”。</P></LI></OL>
<LI>
<P>在“添加连接”对话框中，为数据库提供详细信息（服务器名称、登录凭据等），然后选择 Northwind 数据库。</P>
<LI>
<P>单击“确定”。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl177fcf0b2,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl17img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl177fcf0b2','ctl00_LibFrame_ctl17img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl17img alt=向网页添加时间戳和数据 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>向网页添加时间戳和数据</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl177fcf0b2 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl17><A name=sectionToggle3>
<P>现在可以创建网页来演示缓存处理。在本节中，您将添加一个时间戳来跟踪页创建时间，并添加一个 <A onclick="javascript:Track('ctl00_LibFrame_ctl17|ctl00_LibFrame_ctl18',this);" href="http://msdn2.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview(VS.80).aspx">GridView</A> 控件来查看 Northwind 数据库的 Employees 表。</P>
<H3 class=procedureSubHeading>向网页添加时间戳和数据</H3>
<DIV class=subSection>
<OL>
<LI>
<P>切换到或打开 Default.aspx 页。</P>
<LI>
<P>切换到“设计”视图。</P>
<LI>
<P>从工具箱的“标准”组中，将一个 <A onclick="javascript:Track('ctl00_LibFrame_ctl17|ctl00_LibFrame_ctl19',this);" href="http://msdn2.microsoft.com/zh-cn/library/system.web.ui.webcontrols.label(VS.80).aspx">Label</A> 控件拖到页上，保留默认名称 <B>Label1</B>。</P>
<LI>
<P>在“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”）中，展开“数据连接”。</P>
<LI>
<P>为以前创建的数据连接展开节点。</P>
<LI>
<P>展开“表”节点。</P>
<LI>
<P>将 Employees 表拖到页上。</P>
<P>Visual Web Designer 创建一个 <B>GridView</B> 控件，它配置为使用您所选择的连接和表。</P>
<LI>
<P>在“GridView 任务”菜单上，单击“配置数据源。</P>
<P>默认数据连接字符串名称 <B>NorthwindConnectionString1</B> 出现在“配置数据源”向导的第一个步骤中。</P>
<LI>
<P>单击“下一步”。</P>
<LI>
<P>在“配置 Select 语句”窗格中，选择“指定来自表或视图的列”。</P>
<LI>
<P>在“名称”列表中，单击 Employees。</P>
<LI>
<P>在“列”列表中，选择 EmployeeID、LastName 和 FirstName 列。</P>
<LI>
<P>单击“下一步”。</P>
<LI>
<P>单击“完成”。</P>
<P>Visual Web Designer 配置 <B>GridView</B> 控件以显示您所选择的数据。</P>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>如果看到一条消息询问您是否要刷新 <B>GridView</B> 控件的字段和键，单击“是”。</P></TD></TR></TBODY></TABLE></DIV>
<LI>
<P>双击页的空白部分。</P>
<P>设计器生成 <B>Page_Load</B> 方法并切换视图。</P>
<LI>
<P>添加以下突出显示的代码，以显示指示页创建的时间戳：</P>
<DIV class=code id=ctl00_LibFrame_ctl20_VisualBasic>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage>Visual Basic</DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl20VisualBasic');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl20VisualBasic space="preserve"><SPAN style="COLOR: blue">Protected</SPAN> <SPAN style="COLOR: blue">Sub</SPAN> Page_Load(<SPAN style="COLOR: blue">ByVal</SPAN> sender <SPAN style="COLOR: blue">As</SPAN> <SPAN style="COLOR: blue">Object</SPAN>, _
        <SPAN style="COLOR: blue">ByVal</SPAN> e <SPAN style="COLOR: blue">As</SPAN> System.EventArgs) _
        <SPAN style="COLOR: blue">Handles</SPAN> <SPAN style="COLOR: blue">Me</SPAN>.Load
&lt;b&gt;     Label1.Text = System.DateTime.Now&lt;/b&gt;
<SPAN style="COLOR: blue">End</SPAN> <SPAN style="COLOR: blue">Sub</SPAN>
</PRE></DIV>
<P></P>
<DIV class=code id=ctl00_LibFrame_ctl21_CSharp>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage>C#</DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl21CSharp');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl21CSharp space="preserve"><SPAN style="COLOR: blue">protected</SPAN> <SPAN style="COLOR: blue">void</SPAN> Page_Load(Object sender, System.EventArgs e)
{
&lt;b&gt;     Label1.Text = System.DateTime.Now.ToString();&lt;/b&gt;
}
</PRE></DIV>
<LI>
<P>保存该文件。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl221a9a479,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl22img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl221a9a479','ctl00_LibFrame_ctl22img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl22img alt=测试不使用缓存功能的页 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>测试不使用缓存功能的页</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl221a9a479 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl22><A name=sectionToggle4>
<P>现在可以运行页，并观察不使用缓存功能的行为。此时将加载页并显示当前服务器时间，然后将检索数据并将其放置在页中。</P>
<H3 class=procedureSubHeading>测试不使用缓存功能的页</H3>
<DIV class=subSection>
<OL>
<LI>
<P>按 Ctrl+F5 运行该页。</P>
<LI>
<P>在浏览器中刷新页</P>
<P>注意，时间戳随着每次页刷新而更改。数据将保持相同。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl238df9672,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl23img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl238df9672','ctl00_LibFrame_ctl23img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl23img alt=为缓存功能配置网页 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>为缓存功能配置网页</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl238df9672 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl23><A name=sectionToggle5>
<P>在本部分演练中，您将基于 Northwind 数据库的 Employees 表为 SQL 缓存依赖项配置页。</P>
<H3 class=procedureSubHeading>为缓存功能配置网页</H3>
<DIV class=subSection>
<OL>
<LI>
<P>切换到“源”视图。</P>
<LI>
<P>在页顶部，添加下面的指令以指示依赖项：</P>
<DIV class=code id=ctl00_LibFrame_ctl24_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl24other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl24other space="preserve">&lt;%@&nbsp;OutputCache Duration="3600" SqlDependency="Northwind:Employees" VaryByParam="none" %&gt;</PRE></DIV></LI></OL></DIV>
<P><B>VaryByParam</B> 属性指示缓存时 ASP.NET 是否应考虑页参数（如查询字符串或发布值）。当 <B>VaryByParam</B> 设置为 <B>none</B> 时，将不考虑任何参数；无论提供什么附加参数，都将向所有用户发送相同的页。将 <B>VaryByParam</B> 设置为 <B>*</B>（星号）表明，对于每个唯一的请求参数组合，将缓存一个唯一页。但是，将 <B>VaryByParam</B> 设置为 <B>*</B> 会缓存页的许多不同版本，所以如果您知道缓存变化所依据的参数，建议您在 <B>VaryByParam</B> 属性中显式指定这些参数。有关详细信息，请参见 <A onclick="javascript:Track('ctl00_LibFrame_ctl23|ctl00_LibFrame_ctl25',this);" href="http://msdn2.microsoft.com/zh-cn/library/xadzbzd6(VS.80).aspx">缓存页的多个版本</A>。</P></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl260aaea3c,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl26img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl260aaea3c','ctl00_LibFrame_ctl26img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl26img alt="在 Web.config 文件中设置缓存配置" src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>在 Web.config 文件中设置缓存配置</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl260aaea3c style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl26><A name=sectionToggle6>
<P>除了前面部分中网页的 <B>OutputCache</B> 声明外，您需要在 Web.config 文件中指定缓存详细信息。</P>
<H3 class=procedureSubHeading>创建和更新 Web.config 文件</H3>
<DIV class=subSection>
<OL>
<LI>
<P>如果您的网站已具有 Web.config 文件，请转至步骤 4。</P>
<LI>
<P>在解决方案资源管理器中，右击网站的名称，然后单击“添加新项”。</P>
<LI>
<P>在“添加项”对话框中，单击“Web 配置文件”，然后单击“添加”。</P>
<P>请确保使用名称 Web.config。</P>
<LI>
<P>将下面的 XML 作为 <B>system.web</B> 元素的子级添加到 Web.config 文件中：</P>
<DIV class=code id=ctl00_LibFrame_ctl27_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl27other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl27other space="preserve">&lt;!-- caching section group --&gt;
&lt;caching&gt;
  &lt;sqlCacheDependency enabled = "true" pollTime = "1000" &gt;
    &lt;databases&gt;
      &lt;add name="Northwind" 
         connectionStringName="NorthwindConnectionString1"
         pollTime = "1000"
      /&gt;
    &lt;/databases&gt;
  &lt;/sqlCacheDependency&gt;
&lt;/caching&gt;</PRE></DIV>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>前面您在创建数据连接时，已建立了连接字符串名称 <B>NorthwindConnectionString1</B>。如果您的连接字符串具有不同的名称，请替换为该名称。 </P></TD></TR></TBODY></TABLE></DIV>
<DIV class=alert>
<TABLE width="100%">
<TBODY>
<TR>
<TH align=left><IMG class=note alt=Note src="http://msdn2.microsoft.com/zh-cn/library/e3w8402y.note(zh-cn,VS.80).gif">注意 </TH></TR>
<TR>
<TD>
<P>在连接字符串中指定的帐户凭据必须具有足够的特权来轮询数据库。 </P></TD></TR></TBODY></TABLE></DIV>
<LI>
<P>保存文件，然后将其关闭。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl28fd45511,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl28img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl28fd45511','ctl00_LibFrame_ctl28img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl28img alt=测试使用缓存功能的页 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>测试使用缓存功能的页</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl28fd45511 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl28><A name=sectionToggle7>
<P>启用缓存后，刷新页时将不再导致时间戳或数据库查询更新，因为 ASP.NET 将从缓存中满足页请求。</P>
<H3 class=procedureSubHeading>测试使用缓存功能的页</H3>
<DIV class=subSection>
<UL>
<LI>
<P>按 Ctrl+F5 运行该页。</P>
<P>注意，时间戳在每次页刷新时保持不变。将从缓存中检索页。</P></LI></UL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl296e8a1b8,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl29img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl296e8a1b8','ctl00_LibFrame_ctl29img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl29img alt=更改数据 src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>更改数据</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl296e8a1b8 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl29><A name=sectionToggle8>
<P>现在可以更改数据库中的数据，并可看到缓存被验证，并创建了一个新页。 </P>
<H3 class=procedureSubHeading>更改数据</H3>
<DIV class=subSection>
<OL>
<LI>
<P>在“服务器资源管理器”（Visual Web Developer 速成版中为“数据库资源管理器”中），展开“数据连接”节点。</P>
<LI>
<P>展开您先前创建的连接。</P>
<LI>
<P>展开“表”节点。</P>
<LI>
<P>右击“Employees”，然后单击“显示表数据”。</P>
<LI>
<P>通过编辑数据表中的任何字段并确保它是网页所显示的字段来更新数据库。</P>
<P>或者也可以使用 SQL 窗格（如果 SQL 窗格不可见，则在“查询设计器”菜单中单击“窗格”，然后单击“SQL”）。直接输入 SQL 命令，然后单击“查询设计器”工具栏中的“执行 SQL”按钮。例如，运行下面的命令：</P>
<DIV class=code id=ctl00_LibFrame_ctl30_other>
<DIV class=CodeSnippetTitleBar>
<DIV class=CodeDisplayLanguage></DIV>
<DIV class=CopyCodeButton><A class=copyCode href="javascript:CopyCode('ctl00_LibFrame_ctl30other');"><IMG height=9 src="http://msdn2.microsoft.com/msdn/Controls/CodeSnippet/zh-cn/copy_off.gif" align=middle border=0> 复制代码</A></DIV></DIV><PRE class=code id=ctl00_LibFrame_ctl30other space="preserve">UPDATE dbo.Employees SET LastName = 'Doe' WHERE (EmployeeID = 5)</PRE></DIV>
<P>这将把雇员 5 的名称更改为 Doe。</P>
<LI>
<P>关闭数据的视图。</P></LI></OL></DIV></DIV></DIV></DIV>
<DIV class=MTPS_CollapsibleRegion>
<SCRIPT type=text/Javascript>
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl31e0273e1,";
var ExpCollImgStr = ExpCollImgStr;
 ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl31img,";
</SCRIPT>
<A class=CollapseRegionLink onclick="ShowHideCollapsibleArea('ctl00_LibFrame_ctl31e0273e1','ctl00_LibFrame_ctl31img');return false;" href="http://msdn2.microsoft.com/zh-cn/library/e3w8402y(VS.80).aspx#"><IMG class=CollapseRegionImg id=ctl00_LibFrame_ctl31img alt="测试 SQL 缓存依赖项" src="http://msdn2.microsoft.com/msdn/Controls/CollapsibleArea/en-us/minus.gif" align=middle>测试 SQL 缓存依赖项</A><BR>
<DIV class=section id=ctl00_LibFrame_ctl31e0273e1 style="DISPLAY: block">
<DIV id=ctl00_LibFrame_ctl31><A name=sectionToggle9>
<P>现在可以测试页，以查看数据和时间戳是否已更改。</P>
<H3 class=procedureSubHeading>测试 SQL 缓存依赖项</H3>
<DIV class=subSection>
<OL>
<LI>
<P>按 Ctrl+F5 运行该页。</P>
<P>注意，时间戳已更改，并显示新数据。</P>
<LI>
<P>按 Ctrl+F5 再次运行该页。</P>
<P>这次时间戳保持不变，因为数据未更改，并且现在正从缓存中再次检索该页。</P></LI></OL></DIV></DIV></DIV></DIV></A><img src ="http://www.cnblogs.com/badboy2008/aggbug/820104.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43628/" target="_blank">[新闻]微软：不裁员也不削减研发开支</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>GridView中RowDeleting事件中e.Keys的问题！</title><link>http://www.cnblogs.com/badboy2008/archive/2007/07/08/810350.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Sun, 08 Jul 2007 09:31:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/07/08/810350.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/810350.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/07/08/810350.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/810350.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/810350.html</trackback:ping><description><![CDATA[使用gridview控件，后台绑定的数据，在GridView1_RowDeleting(object &nbsp; sender, &nbsp; GridViewDeleteEventArgs &nbsp; e)和GridView1_RowUpdating(object &nbsp; sender, &nbsp; GridViewUpdateEventArgs &nbsp; e)事件中，使用e.keys[0].ToString()无法获得主键，用e.keys.count得到的数值为0。gridview的DataKeyNames="id"已经设置。 &nbsp; <BR>&nbsp; e.keys["id"]同样无效，会提示“异常详细信息: &nbsp; System.NullReferenceException: &nbsp; 未将对象引用设置到对象的实例。 &nbsp; <BR>&nbsp; ” &nbsp; <BR>&nbsp; 而e.keys[0]则提示 &nbsp; “索引超出范围” &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; 另外试过，如果用数据源控件就没问题。 &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; 用.GridView1.DataKeys代替能解决问题，不过我想搞清楚这个到底是什么问题，网上搜到的都是替代解决方法，我自己也用.GridView1.DataKeys替代了，到底为什么e.keys[0]不可以还是没搞清楚，希望懂的人不吝赐教。 <img src ="http://www.cnblogs.com/badboy2008/aggbug/810350.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43625/" target="_blank">[新闻]2008年11月22日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>刚买了本《软件设计精要与模式》 </title><link>http://www.cnblogs.com/badboy2008/archive/2007/06/03/769509.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Sun, 03 Jun 2007 09:54:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/06/03/769509.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/769509.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/06/03/769509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/769509.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/769509.html</trackback:ping><description><![CDATA[<P>刚在当当上买了本<A href="/wayfarer/archive/2007/05/09/740252.html"><FONT color=#000099>《软件设计精要与模式》</FONT></A> ，看了前几章，感觉写的不错！</P><img src ="http://www.cnblogs.com/badboy2008/aggbug/769509.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43624/" target="_blank">[新闻]诺基亚将支持Lotus Notes 和黑莓争夺市场</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>sql server中分隔字符的凼数</title><link>http://www.cnblogs.com/badboy2008/archive/2007/03/18/679214.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Sun, 18 Mar 2007 14:48:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/03/18/679214.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/679214.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/03/18/679214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/679214.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/679214.html</trackback:ping><description><![CDATA[CREATE function dbo.split_string(@LongStr varchar(8000),@SearchStr varchar(10))<BR>&nbsp;returns @t table(s varchar(100))<BR>as<BR>begin<BR>&nbsp;while (charindex(@SearchStr,@LongStr)&gt;0)<BR>&nbsp;begin<BR>&nbsp;&nbsp;insert @t select left(@LongStr,charindex(@SearchStr,@LongStr)-1)<BR>&nbsp;&nbsp;select @LongStr=stuff(@LongStr,1,charindex(@SearchStr,@LongStr),'')<BR>&nbsp;end<BR>&nbsp;insert @t select @LongStr<BR>&nbsp;return<BR>end<BR><img src ="http://www.cnblogs.com/badboy2008/aggbug/679214.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43623/" target="_blank">[新闻]Mozilla公布去年收入报告</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>介绍Microsoft Windows Workflow Foundation（一）</title><link>http://www.cnblogs.com/badboy2008/archive/2007/03/18/678844.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Sun, 18 Mar 2007 04:51:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/03/18/678844.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/678844.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/03/18/678844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/678844.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/678844.html</trackback:ping><description><![CDATA[<P>小弟在博客园这么久，还没为园子做点什么贡献，实在惭愧，今天看到MSDN上工作流的一些东西，想翻译一下，自当锻炼一下英文，呵呵<BR>&nbsp; 虽然小弟英文不好，但还是试一下。<BR>如有朋友想看原英文的，MSDN地址：<A href="http://msdn2.microsoft.com/en-us/library/aa480215.aspx">http://msdn2.microsoft.com/en-us/library/aa480215.aspx</A><BR><BR><BR><STRONG>Windows Workflow Foundation描述</STRONG>：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实事上今天的企业应用软件都有一个共同的目标：支持业务流程处理。利用不同程序之间的通信，一些业务流程实现了自动化。或许大部分还是通过人工开始一个流程，并通过文档审阅来解决经常出来&nbsp;现的各种问题。另一方面， 我们可以把一连串的分离的过程定义为了一个工作流来描述人和软件需要解决的业务流程的一些活动。一但工作流补定义完，程序可以根据他来执行业务过程。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 创建和执行一个工作流带来一个新的挑站。一些业务流程可能要执行几小时`几天`甚至几星期才能完成，做为一个开发者，在这么长的时间内，如何才能维持工作流的当前状态呢？这种长时间执行的工作流也有可能在不壁塞的情况下和其它程序进行通信。开发者如何才能轻松做到异步通信。</P><img src ="http://www.cnblogs.com/badboy2008/aggbug/678844.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43623/" target="_blank">[新闻]Mozilla公布去年收入报告</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>.Net Framework 3.0介绍</title><link>http://www.cnblogs.com/badboy2008/archive/2007/03/17/678557.html</link><dc:creator>folen</dc:creator><author>folen</author><pubDate>Sat, 17 Mar 2007 14:52:00 GMT</pubDate><guid>http://www.cnblogs.com/badboy2008/archive/2007/03/17/678557.html</guid><wfw:comment>http://www.cnblogs.com/badboy2008/comments/678557.html</wfw:comment><comments>http://www.cnblogs.com/badboy2008/archive/2007/03/17/678557.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/badboy2008/comments/commentRss/678557.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/badboy2008/services/trackbacks/678557.html</trackback:ping><description><![CDATA[摘要: 转自MSDN：http://www.microsoft.com/china/MSDN/library/netFramework/netframework/intronetfx30.mspx?mfr=true描述 .NET Framework 3.0应用程序开发的目标始终如一，就是在最短时间内制作出最好的软件。然而，随着开发平台的性能越来越高，制作软件的壁垒也相应提高了。以 Windows 为例，原&nbsp;&nbsp;<a href='http://www.cnblogs.com/badboy2008/archive/2007/03/17/678557.html'>阅读全文</a><img src ="http://www.cnblogs.com/badboy2008/aggbug/678557.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43621/" target="_blank">[新闻]2008年11月21日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>