Scott Guthrie 博客中文版

Scott Guthrie's Blog on ASP.NET and .NET (英文原版地址:http://weblogs.asp.net/scottgu)

   博客堂 :: 首页 :: 联系 :: RSS 2.0 ::
随笔 - 252, 评论 - 1157, 引用 - 436

导航

标签

每月存档

最新留言

广告

【第1页/共12页,115条】
首页
前页
1
...

ASP.NET MVC 2 发布了

【原文地址】ASP.NET MVC 2 Released
【原文发表日期】 Thursday, March 11, 2010 9:24 PM

我非常高兴地宣布,针对含有ASP.NET 3.5的VS 2008/Visual Web Developer 2008 Express版的ASP.NET MVC 2最终版发布了,你可以在下列地址下载和安装它:

VS 2010 和 Visual Web Developer 2010的最终版将内置含有ASP.NET MVC 2, 所以,你不需要另外的安装就可以在其中使用ASP.NET MVC 2。

ASP.NET MVC 2

我们在不到一年之前发布了ASP.NET MVC 1版, 自那时起,几乎近百万的开发人员下载并使用了ASP.NET MVC 1的最终版,其人气(popularity)逐月递增。

ASP.NET MVC 2 是 ASP.NET MVC 的下一个重大更新版,它是与ASP.NET MVC 1相兼容的更新版,所以,你所有关于ASP.NET MVC的现有知识,技能,代码和扩展在以后都能继续发挥作用。跟第一个版本一样,我们还在与OSI相容的开源许可下发布了ASP.NET MVC 2的源码

ASP.NET MVC 2可与ASP.NET MVC 1并行安装(这意味着,你可以在同一台机器上有一些应用是用V1建造的,而另一些是用V2建造的)。在这里,我们发布了一些说明,如何使用VS 2008将你现有的ASP.NET MVC 1应用升级到使用ASP.NET MVC 2。注意,VS 2010有一个自动升级的向导,可以为你自动地将你现有的ASP.NET MVC 1应用迁移到ASP.NET MVC 2。

ASP.NET MVC 2 特性

ASP.NET MVC 2添加了一堆新的功能和特性。我已经动手撰写一个博客系列,讨论其中一些新的特性,在将来还会做更深入地讨论。其中一些新的特性和功能包括:

你可以在www.asp.net/mvc网站上的《ASP.NET MVC 2新特性》一文中了解这些特性的详情。

我们不久将在www.asp.net/mvc上发布许许多多的新教程和录像,涉及ASP.NET MVC 2版中的所有特性。我们还将发布一个更新了的,完全用ASP.NET MVC 2建造的全程教程(很象我撰写的涉及ASP.NET MVC 1的NerdDinner教程 )。

结语

ASP.NET MVC开发团队在过去的一年里定期发布了V2预览版以获取对特性集的反馈。我想对试用了预览版和给我们提交了建议/反馈/缺陷报告的每一位说一声,衷心感谢你!

我们希望你喜欢ASP.NET MVC 2的最终版!

Scott

posted on 2010-03-14 12:08:20 by scottgu  评论(0) 阅读(2114)

一些VS 2010 RC更新(包括 Intellisense和Web设计器的补丁)

【原文地址】Some VS 2010 RC Updates (including patches for Intellisense and Web Designer fixes)
【原文发表日期】 Monday, March 08, 2010 12:07 AM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

我们继续在朝着发布Visual Studio 2010的方向取得进展,我要向下载并试用了VS 2010 RC版的各位,特别是那些给我们发反馈或报告问题的人,表示衷心的感谢。这些数据在发布最终版前,帮我们找到和修补剩下的缺陷上,是非常宝贵的。

上个月,我曾在博客中写到为VS 2010 RC版发布的一个补丁,修补了一个很糟的Intellisense崩溃的问题。上个星期,我们又发布了2个补丁,你可以下载并施用于VS 2010 RC版,即时修补我们看到有人遭遇的另外2个常见问题:

修补了工具提示调用和停留于标识符之上时崩溃问题的补丁

Visual Studio开发团队最近发布了第二个补丁,修补了我们看到在显示工具提示时,通常是在停留于查看QuickInfo工具提示的标识符(identifier)之上时,造成的一些崩溃。

你可以在这个博客贴子中了解这个问题的细节,在这里下载和施用这个补丁。

修补了Web Forms设计器不能向自动生成的设计器文件中正确添加控件问题的补丁

Visual Web Developer开发团队最近发布了一个补丁,修补了web控件无法正确地加到与.aspx文件关联的.designer.cs文件中去的问题,该问题意味着无法在代码后台文件中对这些控件进行编程。

这个问题通常被描述为 “controls are not being recognized in the code-behind(后台代码中无法识别控件)” 或 “editing existing .aspx files regenerates the .aspx.designer.(vb or cs) file and controls are now missing(编辑现有的.aspx文件重新生成了.aspx.designer.(vb or cs)文件,丢失了控件)” 或者 “I can’t embed controls within the Ajax Control Toolkit TabContainer or the <asp:createuserwizard> control(无法将控件内嵌于Ajax Control Toolkit TabContainer或 <asp:createuserwizard>控件中)”。

你可以在这里了解该问题的细节,在这里下载和施用修补这个问题的补丁。

在Windows XP, Vista, Win Server 2003/2008系统中Intellisense和IDE滞缓的常见原因

在过去的几个月中,我们偶尔会看到有人报告说在VS 2010中键入文字和使用Intellisense时遇上巨慢无比的情形,尽管是在蛮不错的机器上运行的。这花了我们不少时间来追查其原因,但我们发现常见的问题所在是这些机器没有安装最新版本的UIA (Windows Automation)组件。

UIA 3 是随 Windows 7一起发布的,在XP 和 Vista上是推荐的Windows Update补丁(我们没有在测试中看到这问题的原因是因为我们的机器都用所有推荐的更新打过补丁了)。但许多系统(特别是XP),并不自动安装推荐的更新,而是以比较老的UIA版本运行的。这会在VS 2010编辑器中,在显示大的列表时(例如:使用intellisense时),导致显著的性能缓慢问题。

如果你是在Windows XP, Vista, 或 Windows Server 2003 或 2008上运行,看到编辑器或IDE任何性能问题的话,请安装免费的UIA 3 更新,它可从这个网页上下载。如果你向下卷动页面,你会发现针对每个OS的版本的直接链接。

注意,我们正在对VS 2010的最终版做改进,这样,在UIA 3没有安装时也不会有大的性能问题,我们还会在IDE中加消息,如果你没有安装UIA 3但激活了accessibility,它会向你提醒。

WPF 4 和 VS 2010中改进了的文字显示

我们最近对WPF 4做了一些非常棒的改动, 较之于VS 2010/.NET 4 RC版,改进了文字的清晰度(text clarity)和清脆度(text crispness)。特别地,这些变动会改进那些在较暗的背景下有浅色文字(light text)的场景。

你可以在WPF开发团队这个博客贴子中了解这些改进的细节,这些改动将会出现在VS 2010 和 .NET 4的最终版本中。

希望本文对你有所帮助,

Scott

posted on 2010-03-14 11:10:37 by scottgu  评论(0) 阅读(1728)

VS 2010 RC版出现没有Intellisense的问题(以及解决方法)

【原文地址】No Intellisense with VS 2010 RC (and how to fix it)
【原文发表日期】 Friday, February 26, 2010 11:47 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

Patrick 最近在博客中写到了在安装VS 2010 RC版时发现的奇怪问题: C#的代码Intellisense不工作。当他调出工具->选项,查看文本编辑器->;C#下的设置时,他注意到Intellisense不工作的原因是因为他的配置把它关闭了,他不能理解为什么Intellisense会被默认设置为关闭:

image

为什么会发生这样的情况?

上述情形发生是因为:

1) 当你在安装了VS 2008的机器上第一次运行VS 2010时,它会问你是否想要导入现有的VS 2008配置。在默认情形下,这个复选框是选中了的,这意味着,在默认情形下,会自动导入你现有的配置。

2) 有些VS插件, 例如Resharper, 会关闭VS中内置的C#代码Intellisense,而代之以他们自己的实现。如果你在VS 2008中安装了Resharper,上面的VS代码Intellisense配置就会被关闭了。当你在第一次运行VS 2010时导入你现有的配置时,导入的代码Intellisense会处于禁止的状态。如果你还没有在VS 2010中安装Resharper(是个单独的安装)的话,那么在默认情形下,你的Intellisense就是关闭的。

如何解决这个问题?

在VS 2010 RC版中解决这个问题相当简单,只要采用下述2个方法中的任意一个即可:

1) 使用工具->选项菜单命令,选择文本编辑器->C#设置,将上面圈出的2个复选框(自动列出成员和参数信息)打勾,然后Intellisense就会工作了。

或者:

2) 安装可在VS 2010 RC版下工作的Resharper版本,它会使用自己的机制启动Intellisense。

我们正在修改VS 2010最终版中的配置导入行为

我们听到有几个人报告遇上了这个问题,因为该行为非常令人困惑,我们正在修改VS 2010最终版中的配置导入行为,以避免造成这个问题。如果一个插件在VS 2008中关闭了Intellisense,在默认情形下,当你将配置导入VS 2010,我们会重新启用Intellisense,这会确保在一个干净安装(clean install)的VS 2010中,Intellisense总是默认工作的。

希望本文对你有所帮助,

Scott

posted on 2010-02-28 14:26:15 by scottgu  评论(3) 阅读(3197)

VS 2010 RC版Intellisense崩溃问题的补丁出来了

【原文地址】Patch for VS 2010 RC Intellisense Crash Issue Now Available
【原文发表日期】 Monday, February 15, 2010 10:15 AM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

上个星期, 我在博客里写到了不幸在VS 2010 RC版中发生的一个intellisense崩溃的问题

崩溃症状

如果当你在编辑器里键入东西,与此同时Intellisense窗口出现或消失,遇上经常性的 VS 2010 崩溃的话,那么你就是遇上了这个问题。

补丁出来了

今天早晨,我们发布了一个VS 2010 RC版补丁,修补了这个问题。你可以在这里下载和运行。

如果你遇上了任何VS 2010 RC版崩溃的问题,或者你有一个tablet,多点触摸,屏幕阅读器,或连有外部设备(包括Wacom tablet,电话/ipod,或其他通过USB连接的设备)的话,请施用这个补丁。

请通过connect.microsoft.com网站向我们提交你遇上的任何VS 2010 RC版的问题。在你提交完后,也请给我发电邮(scottgu@microsoft.com),附带该问题的链接,我会确保合适的队伍尽快追查原因并采取后续措施。

希望本文对你有所帮助,

Scott

posted on 2010-02-16 07:37:56 by scottgu  评论(2) 阅读(4776)

VS 2010的Intellisense相关崩溃的修补

【原文地址】Intellisense Crashing fix for VS 2010
【原文发表日期】 Thursday, February 11, 2010 4:41 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

星期一我们发布了VS 2010 RC版,之后看到了对性能和稳定性方面的一些很好的反馈。

但有一个问题,我们看到有若干个人遇上了,就是在启用了UI自动化和连接了某些设备的机器上会经常发生的intellisense崩溃(crash)。

崩溃症状

如果当你在编辑器里键入东西,与此同时Intellisense窗口出现或消失,遇上经常性的 VS 2010 崩溃的话,那么你就是遇上了这个问题。

为什么会发生崩溃?

导致崩溃最常见的原因是因为你运行的机器:

原因是,就在RC版发布前有一个很晚的修补修改了UI输入代码路径,不幸地造成了这个缺陷。

修补这个问题的补丁就要出来了

我们正在做一个VS 2010 RC版补丁,我们会在下个星期发布,该补丁会修正这个问题,防止它再次发生。一旦出来,我会在博客中提供补丁链接。

目前的权变措施

对此问题,目前有2个权变措施。一个是中止你的Tablet服务(有关细节请参阅该文)或者中止你系统上的多点触摸/笔驱动器。另一个是设置一个注册表的键。

你可以在 VS开发团队的这个博客贴子中读到这两个权变措施的细节。

如果还是崩溃怎么办?

如果你在尝试这些步骤后,还是看到崩溃(或遇上了非Intellisense场景的崩溃的话),请向我发电邮(scottgu@microsoft.com),我们想要确保我们对你遇上的问题追查其原因并采取后续措施。

希望本文对你有所帮助,

Scott

posted on 2010-02-12 22:39:55 by scottgu  评论(4) 阅读(3810)

(LIDNUG主办)2月11日星期四与我在线聊天

【原文地址】LIDNUG Online Chat with Me on Thursday Feb 11th
【原文发表日期】 Wednesday, February 10, 2010 10:57 PM

今天我们向所有人开放了 VS 2010 RC版的下载,你可以在这里下载。Jason Zander, Visual Studio开发团队的主管, 在这里 有一个很好的博客贴子,总结了相关的许多常见问题。

就象我在星期一关于RC版的博客贴子里提到的那样,如果你遇上任何缺陷或问题,请给我发电邮(scottgu@microsoft.com),那样我可以确保跟你联系上某个人,由他很快地追查问题所在。

2月11日星期四太平洋时间早晨10点(【译注】北京时间2月12日凌晨2点)与我在线聊天

2月11日星期四早晨10点到11点半(太平洋时区),我将做一个虚拟网播聊天活动。这个聊天活动是向所有人开放的,由LIDNUG用户组织主办。聊天的格式也是开放的,你听的时候可以问任何问题,而我则会试着回答尽可能多的问题。我期望我会花很多时间,讨论VS 2010, .NET 4, Silverlight 4, ASP.NET 4 和 ASP.NET MVC 2。

你可以在这里注册,免费参加这个聊天活动。

希望本文对你有所帮助,

Scott

posted on 2010-02-11 22:50:17 by scottgu  评论(1) 阅读(3245)

Visual Studio中的jQuery 1.4.1 Intellisense

【原文地址】jQuery 1.4.1 Intellisense with Visual Studio
【原文发表日期】 Monday, February 08, 2010 10:30 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

最近有几个人写电邮给我,询问jQuery 1.4.1的Visual Studio –vsdoc intellisense提示文件的情况。

在过去,我曾在博客中写到过 –vsdoc 文件,它们为Visual Studio提供了额外的intellisense帮助信息,允许你从动态的Javascript库中得到更丰富的intellisense体验。如果你在使用 VS 2008 SP1, 你要去下载和安装这个补丁才能让VS 2008自动使用 –vsdoc 文件提供intellisense。VS 2010现在内置支持 –vsdoc 文件。

jQuery 1.4.1 –vsdoc 下载

好消息是,你现在可以直接从jQuery网站下载 jQuery 的 –vsdoc 文件了 (在每个重大版本好下找 “Documentation: Visual Studio” 链接)。这里是个直接链接,指向可为你所用的刚发布的jQuery 1.4.1 的 –vsdoc文件。

希望本文对你有所帮助,

Scott

posted on 2010-02-11 08:58:03 by scottgu  评论(1) 阅读(3459)

VS 2010 和 .NET 4.0 系列之《内置图表控件》篇

【原文地址】Built-in Charting Controls (VS 2010 and .NET 4 Series)
【原文发表日期】 Sunday, February 07, 2010 9:54 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

这是我针对即将发布的VS 2010 和 .NET 4所撰写的 贴子系列的第十五篇。今天的博客讨论.NET 4中新加到ASP.NET和Windows Forms中的好东西: 内置图表控件支持。

ASP.NET 和 Windows Forms 图表控件

14个月前,我在博客中写到微软正提供可用于ASP.NET 3.5和Windows Forms 3.5的图表控件的免费下载

你今天可以下载 并在你的web和客户端应用中免费使用这些运行时控件。你还可以下载它们的VS 2008工具支持。它们提供了简单易用的丰富图表功能。想了解一下你都能用它们做什么的话,我推荐你下载ASP.NET和Windows Forms例程项目,内含200多个例程。下面是一个来自其中的ASP.NET样例应用中的饼图和甜圈图的屏幕截图:

image

图表控件现在内置于.NET 4了

对.NET 3.5,你需要单独下载图表控件并将它们加到你的应用中去。而对于.NET 4,这些控件现在已经内置于ASP.NET 4 和Windows Forms 4中了,这意味着你开箱即可马上利用这些控件(不需要另外的下载或注册)。

在ASP.NET 4应用中,你会发现在工具箱的“数据”页上,现在有一个新的内置<asp:chart>控件:

image

你不用注册或接连任何配置文件项,就可以使用这个控件。所有的图表控件配置现在都由ASP.NET 4预先注册好了(意味着不用往应用的 web.config 文件中加什么东西就可以工作)。这允许你保持 非常干净和最小的Web.config文件

进一步了解<asp:chart> control

Scott Mitchell 在www.4guysfromrolla.com网站上撰写了一个精彩系列,讨论如何充分利用<asp:chart>控件:

  1. Getting Started - 全程示范如何开始使用图表控件,从版本要求到下载和安装图表控件,到在一个ASP.NET网页上显示简单的图表。
  2. Plotting Chart Data - 详细讨论将数据显示在图表上的多种方式,从数据绑定到手工添加数据点,一次加一个。
  3. Rendering the Chart - 图表控件提供了多种方式将图表显示成图像,这篇文章探讨了这些选项。
  4. Sorting and Filtering Chart Data - 这篇文章示范如何用编程的手法在显示前对图表的数据进行排序和过滤。
  5. Programmatically Generating Chart Images - 学习如何用编程的手法创建和改动图表图像文件。
  6. Creating Drill Down Reports - 看如何使用图表控件创建细节展开报表。
  7. Adding Statistical Formulas - 学习如何添加统计公式到图表中,例如取平均,取中位数,取方差,做预测等。
  8. Enhancing Charts With Ajax - 使用Ajax改进动态和可交互式图表的用户体验。
  9. Serializing Chart Data - 看如何将图表的数据和外观持久到一个持久存储中去。

他的文章是基于.NET 3.5和单独的ASP.NET图表控件下载写的,但所有的概念和句法在ASP.NET 4中完全一样地工作。

Michael Ceranski也撰写了一个博客贴子,示范如何在ASP.NET MVC应用中使用ASP.NET图表控件。我正希望有人不久会创建一个很好的ASP.NET MVC Html.Chart()辅助方法,在将来进一步简化它的用法呢。

希望本文对你有所帮助,

Scott

posted on 2010-02-11 08:37:18 by scottgu  评论(1) 阅读(2979)

很棒的ASP.NET 4 和 VS 2010“快击”录像

【原文地址】Nice “Quick Hit” Videos about ASP.NET 4 and VS 2010
【原文发表日期】 Thursday, January 28, 2010 9:12 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

在过去的几个月里,我一直在撰写一个博客贴子系列,讨论即将发布的.NET 4和VS 2010中的一些新特性。

今天早些时候,有人给我指点了一些已经发布的很棒的“quick hit(快击)”录像,这些录像对ASP.NET 4 和 VS 2010中的一些新特性做了简短的初览。这些录像并不是所有新东西的详尽列表,但确实提供了一个很好的方式来很快地了解ASP.NET 4 和 VS 2010中许多既酷又新的东西。

ASP.NET 4录像

你可以通过观看这22个ASP.NET Quick Hit录像来了解一些新的ASP.NET 4特性的细节。

image

VS 2010录像

你可以通过观看这8个 VS 2010 Quick Hit 录像来了解几个新的VS 2010特性的细节。

image

ASP.NET开发团队成员的采访

除了上面的特性示范录像外,你还可以观看由Scott Hanselman主持的这些ASP.NET开发团队的成员的采访。在这些录像中,好几个ASP.NET开发团队的成员讨论他们开发的几个新特性。

image 

.NET 4 和 VS 2010中还有许许多多的特性没有在这些录像中讨论到,但希望上面的录像片段提供了一个很好的方式,让你能很快地对一些新功能有些了解。

希望本文对你有所帮助,

Scott

posted on 2010-02-11 06:24:48 by scottgu  评论(1) 阅读(2785)

VS 2010 和 .NET 4.0 系列之《ASP.NET 4中的可扩展输出缓存》篇

【原文地址】Extensible Output Caching with ASP.NET 4 (VS 2010 and .NET 4.0 Series)
【原文发表日期】 Wednesday, January 27, 2010 11:27 PM

除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。

这是我针对即将发布的VS 2010 和 .NET 4所撰写的 贴子系列的第十四篇。今天的博客讨论ASP.NET 4中做的一些输出缓存扩展性方面的改进。这些改进可为所有的ASP.NET 4应用所用,包括那些用ASP.NET Web Forms和ASP.NET MVC建造的应用。

今天的输出缓存(Output Caching)

ASP.NET 1.0引进了输出缓存的概念,允许开发人员将网页,控件,控制器,和HTTP回复生成的输出捕捉和保存在内存的缓存中。然后在之后的web请求中,ASP.NET可以通过从缓存中取出和使用现成的输出(而不是再次执行网页/控制器重新从头生成输出),快速地将内容传出。这可以显著地提高你应用的性能,特别是在你的内容是基于数据库中的数据的情形下(因为当内容是输出缓存的,结果是你在后来的请求中不必再访问数据库)。

ASP.NET的输出缓存系统是足够灵活的,允许你根据网页/控制器的查询字符串/表单提交参数来缓存不同版本的内容(例如:Browse.aspx?category=Beverages 比之与 Browse.aspx?category=Meat)。它也允许你基于访问你的应用的客户端的浏览器类型或者用户语言选项来缓存不同版本的内容。这允许你在缓存为桌面浏览器优化的内容版本之外,再缓存一个可移动设备的版本,以及根据用户是想阅读英文还是法文的网页更改缓存的条目。你可以配置ASP.NET在一个特定的时间内(例如,一分钟,之后的下一个请求会重新生成内容并且再次缓存)缓存某个特定的输出缓存,你还可以配置ASP.NET基于某个外部事件(例如,缓存内容基于的数据库改变了)动态地使得缓存条目失效。

但ASP.NET V1->V3.5中的输出缓存有一个限制,就是缓存存储本身不是可扩展的,- 缓存的内容总是保存在内存中的。

ASP.NET 4的输出缓存扩展性

ASP.NET 4对输出缓存添加了扩展点,现在允许开发人员配置一个或多个定制的输出缓存提供器(output-cache provider)。输出缓存提供器可以使用任何存储机制来持久化缓存内容。这使得轻松地创建使用任何持久化机制来保存缓存内容的输出缓存提供器成为可能, 这些持久化机制包括本地或远程硬盘,数据库,云存储,和分布式缓存引擎(象memcached 或 velocity)。

你可以通过创建一个ASP.NET 4中的新System.Web.Caching.OutputCacheProvider类的继承类来创建定制的输出缓存提供器。然后在你的继承类中,你可以覆盖4个公开方法,提供添加/删除/获取/更新缓存内容的实现(会传入一个独特的键,用于识别每个单独的缓存条目)。然后,你可以通过在应用的web.config文件中使用<outputCache>元素的新<providers>节将其注册,配置ASP.NET 4来使用你定制的输出缓存提供器:

image

在上面,我加了一个新的输出缓存提供器(我将其命名为“SampleCache”),是用OutputCacheSample.dll程序集中的“ScottOutputCache”类实现的。我还配置ASP.NET,将我的“SampleCache”实现作为默认的输出缓存实现来使用(每当内容需要输出缓存时),- 这是通过设置<outputCache>元素的 “defaultProvider”属性实现的。

至此,当我在任意一个.aspx网页的顶部加一个OutputCache指令时,内容就会通过使用我的ScottOutputCache提供器被缓存和保存起来:

<%@ OutputCache Duration="60" VaryByParam="None"  %>

同样地,如果我将[OutputCache]特性加到某个ASP.NET MVC控制器的任意一个action方法上时,内容也会通过使用我的ScottOutputCache提供器被缓存和保存起来:

image

定制所用的输出缓存提供器

在上面,我配置ASP.NET总是默认使用我的“SampleCache”提供器来缓存内容,每当输出缓存在应用中使用的话。

作为一个稍微更高级的选项,开发人员还可以配置ASP.NET在每个请求的基础上动态地选择某个输出缓存提供器。这对你想要稍微更丰富一点缓存语义的场景是非常有用的。例如,你也许想要使用内置的ASP.NET内存提供器来缓存网站的“首页(Home)”或者“前十个请求最多的网页”(因为内容在内存中,所以速度是超级地快),然后将访问数不多的网页缓存到硬盘上。

你可以通过覆盖应用的Global.asax文件中的 GetOutputCacheProviderName() 方法,在每个请求的基础上,动态指定使用哪个输出缓存提供器。在下面,我表明,对我应用中的 “Home.aspx”网页我想要使用内置的,用内存的ASP.NET输出缓存提供器,然后对所有其他的请求,我想要使用注册在web.config文件中的提供器:

image

这个根据场景轻松地转换提供器的能力,最终将促成一堆非常强有力的场景。

常用的输出缓存提供器

我们将发布例程,示范如何实现将缓存内容保存在文件系统中的基于硬盘的输出缓存提供器。我们还将发布例程,示范如何将输出缓存与新的 Windows Server AppFabric Caching Service (以前叫“Velocity”)相集成。AppFabric的缓存服务将是免费的,完全支持的微软分布式缓存系统。将新的 ASP.NET 4 输出缓存扩展性与memcached(很流行的开源分布式缓存系统)相集成也会是非常容易的。

你可以观看Stefan Schackow在PDC 2009上的ASP.NET 4核心运行时讲座来了解如何创建缓存提供器的细节,你还可以从这个PDC 2009讲座中了解AppFabric的缓存服务的细节。

结语

ASP.NET 4中新加的输出缓存提供器扩展性将允许开发人员轻易地追求网站和应用更勇猛的,也更聪明的输出缓存策略。这将显著地提高应用的性能和响应性,改进终端用户的体验,以及减少所需服务器的资源量。

希望本文对你有所帮助,

Scott

posted on 2010-02-11 05:45:36 by scottgu  评论(0) 阅读(2471)

【第1页/共12页,115条】
首页
前页
1
...