RSS 2.0 Feed
2007-07 Entries
摘要:【原文地址】 ASP.NET AJAX in .NET 3.5 and VS 2008 【原文发表日期】 Monday, July 30, 2007 12:06 AM 在过去,我曾在《VS 2008 JavaScript Intellisense》 和 《 VS 2008 JavaScript debugging》 中讨论过JavaScript和AJAX方面的改进。下面是作为VS 2008和.NET 3.5一部分发布的一些ASP.NET AJAX运行时特性的几个备注,以及你在VS 2008中打开现有ASP.NET AJAX 1.0项目时需要知道的几个重要事项。 包括在.NET 3.5中的ASP.NET AJAX ASP.NET AJAX 1.0是以可以在ASP.NET 2.0之上安装的单独一个下载的形式发布的。从.NET框架3.5开始,所有这些特性都成为ASP.NET所固有的,这意味着在构建或部署应用时,你不再需要下载和安装单独的ASP.NET AJAX安装文件。 当你在VS 2008 中创建针对.NET框架3.5的新ASP.NET应用或网站项目时,VS会自动在你的web.config 文件里添加适当的AJAX注册设置,而且核心ASP.NET AJAX 服务器控件会出现在你的工具箱里。 随.NET 3.5发布的ASP.NET AJAX 版本有不少很好的改进 - 包括对可与WebPart一起使用的UpdatePanel的支持,对基于WCF的JSON结点的支持,对在JavaScript中使用ASP.NET用户数据,角色和登录应用服务的支持,以及N个缺陷修补和性能改进。 理解ASP.NET AJAX的版本 ASP.NET AJAX 1.0和.NET 3.5两者可以在同个机器上并行安装。ASP.NET AJAX 1.0是在System.Web.Extensions.dll 的V1.0程序集中实现的,而包括在.NET 3.5中的ASP.NET AJAX实现存在于System.Web.Extensions.dll 的V3.5程序集中。System.Web.Extensions.dll 的V3.5版本是个完全兼容于1.0版本的扩展集(这意味着你不要改动任何代码就可以使用它)。 机器上的每个ASP.NET应用都可以选择使用任何一个ASP.NET AJAX 版本来构建和运行。这是通过在web.config文件中<system.web.extensions>部分节点,以及应用编译时所引用的System.Web.Extensions.dll程序集版本来配置的(在网站项目中,这些引用是注册在web.config文件中的<assemblies>部分的,而web应用项目则是通过项目文件来指定这些引用的)。 你将能使用VS 2008来开发针对ASP.NET AJAX 3.5的应用,以及使用新的VS 2008多定向支持来构建使用ASP.NET AJAX 1.0的ASP.NET 2.0应用。在下面的部分,我将讨论怎么做。 重要的Beta 2信息 在我们在web上发布Beta2前几天,我们发现了一个并行安装ASP.NET AJAX的问题。如果你读过我原先的《VS 2008和.NET 3.5 Beta 2发布了》的博客贴子的话,你会记得下面这个我特别指出的来修正这一问题的安装后补丁步骤: 你应该下载和运行这个批文件。这只要几秒钟就可以运行完,它修补了这个星期早些时候我们发现的System.Web.Extensions.dll版本政策的问题,该程序集包含了 ASP.NET AJAX。如果你不运行这个批文件,那么用ASP.NET AJAX 1.0......[阅读全文]

posted @ | Feedback (5) | Filed Under [ ASP.NET .NET Visual Studio Atlas ]

摘要:【原文地址】 VS 2008 and .NET 3.5 Beta 2 Released 【原文发表日期】 Thursday, July 26, 2007 2:11 PM 我非常高兴地宣布,VS 2008和.NET 3.5的Beta2版本可以下载了。你可以在这里下载Visual Studio 2008产品。你也可以在这里下载较小的VS 2008 Express版本。 VS 2008 和 Visual Web Developer 2008 Express可以与VS 2005并行安装。.NET 3.5 Beta2还包括一个go-live许可,这允许你构建和部署基于这些产品之上的生产性的应用。 非常重要的注意事项: 请阅读本博客贴子下面的“安装注意事项”,内含安装之后你必要采取的几个步骤,以保证一切运行良好。其中一个步骤修正了并行安装造成的ASP.NET AJAX问题。 一些Web开发新特性之快速指南 在过去的几个月里,我写过几个博客贴子,讨论这个版本里的一些新的改进。下面是我已经讨论过的几个改进的概述列表。这个列表并不详尽,还有很多很多东西我还没有机会在博客里讨论(敬请收看以后的贴子!): VS 2008的多定向支持 VS 2008允许你构建针对多个.NET框架版本的应用。你可以从下面的博客贴子里进一步了解其中的工作原理: VS 2008 Multi-Targeting Support VS 2008 Web设计器和CSS支持 VS 2008包含一个显著改进的HTML web设计器。该设计器提供了分割视图编辑,嵌套母板页,以及出色的CSS集成。下面是我对此作了详述的2篇文章: VS 2008 Web Designer and CSS Support VS 2008 Nested Master Page Support ASP.NET还提供了一个新的<asp:ListView>控件,不久的将来我将在博客里讨论该控件。该控件对数据UI场景提供了非常灵活的支持,允许对输出的标识做完全的定制,与VS 2008中的新CSS支持还有良好的协作。 ASP.NET AJAX和JavaScript支持 .NET 3.5 内置提供ASP.NET AJAX,还添加了支持WebPart的UpdatePanel,支持JSON的WCF,以及N个缺陷修补和性能改进等方面的新特性。VS 2008还对集成JavaScript和AJAX进你的应用提供了极棒的支持: VS 2008 JavaScript Intellisense VS 2008 JavaScript Debugging 在接下来的几天内,我将撰写一个博客贴子,讨论其中几个特定于ASP.NET AJAX的改进,以及如何将现有ASP.NET AJAX......[阅读全文]

posted @ | Feedback (29) | Filed Under [ ASP.NET .NET Visual Studio LINQ Atlas WPF ]

摘要: 【原文地址】 First Look at IronRuby 【原文发表日期】 Monday, July 23, 2007 8:45 AM 过去的几年里,我们一直致力于使得.NET和CLR成为出色的动态语言环境。大概14个月前,在我的开发团队内,我们组成了一个专门的开发组,专注于增加对动态语言的丰富CLR运行时支持,以及推出流行动态语言的第一流.NET实现。 DLR 背景知识 今年春天,我们发布了我们称之为“动态语言运行时(Dynamic Language Runtime)”(简称为DLR)的新.NET库的第一个预览版。该库提供了一组建立在CLR基础之上,特为动态语言场景而设计的特性。这些特性包括,一个共享的动态类型系统,语言宿主模型,以及能产生快速动态代码的基础设施支持。这些特性极大地简化了高质量的动态语言的.NET实现的构建。这些实现可以访问和使用.NET框架中的任何API,还可以轻松地与用任何一门.NET语言编写的代码进行互操作。譬如,你可以编写一个Ruby类,在其中调用一个C#类,这个C#类进而调用一个Python类。 今年春天,在MIX 07大会上,我们宣布了微软将发布四门动态语言的.NET实现: IronPython IronRuby (新) Javascript 动态 VB (新) 我们的IronPython实现的源代码,以及底层的DLR库的源代码四月份已经在CodePlex上发布。你现在就可以在IronPython codeplex网站上下载这2者的源代码。所有的源代码都是在MSPL permissive license许可下发布的,该许可提供了完全的商业性和非商业性改动代码的权利。 IronRuby Pre-Alpha 发布 今天,我们发布了我们的IronRuby实现的第一个公开预览版。你可以在John Lam这里的博客贴子里进一步了解如何下载源代码,如何编译,以及如何试验这个预览版。 今天这个IronRuby预览版还是一个非常早期的版本,几个语言特性和大部分的库还没有实现(所以我们称之为“pre-alpha”版呢)。但它确实实现了大部分的核心语言支持,而且可以使用标准的.NET类型和API。 IronRuby是被设计来利用一个我们称之为“Dynamic Sites”的新DLR特性的,该特性提供了一个快速的,可适应性的(adaptive) call-site方法缓存的实现。它还使用了CLR的轻量级代码生成特性。轻量级代码生成允许动态语言的实现在运行时创建内存中的IL,继而JIT为本机代码,而不用在硬盘上保存什么东西。这可以导致比解释性代码好得多的运行时性能,轻量级代码生成特性确保了一旦用完JIT过的代码之后,我们可以将其垃圾回收以避免内存泄漏。 我们今天发布的这个预览版主要是针对那些对语言实现有兴趣的开发人员的,这样他们可以开始研究IronRuby源代码,以及了解它是如何实现的。有兴趣把玩Ruby的.NET实现早期版本的开发人员也可以下载相应代码,尝试一下它的功能。 IronRuby 项目计划 下个月,我们将把IronRuby源码库移到RubyForge上。同时我们也将开放这个项目,允许非微软开发人员加入这个项目的开发,以及贡献源码。然后我们将继续实现剩下的语言特性,修正随着更多的库和源代码移植过来时发现的兼容性问题。 其结果将是一个建立在.NET之上的,任何人都可以免费使用的,兼容性良好的,快速的,和灵活的Ruby实现。 IronRuby "Hello World" 控制台例程 如果你下载和编译了IronRuby源码,你大概在想“我该如何开始使用它呢”? 想上手的最简单的方法就是运行rbx.exe,一个交互性控制台应用,默认情形下是编译在\bin\release目录里的: 这个控制台shell提供了交互性编写Ruby代码的功能。在写完每一行后,这个shell就会立刻执行相应代码。 例如,我们可以键入 puts "Hello World" 来输出“hello world”: 想连续输出这个字符串10次,我们可以键入下列代码: 要在IronRuby中使用Windows Forms功能的话,我们可以键入一个require语句,来引用System.Windows.Forms程序集,然后使用MessageBox.Show方法来在一个模态对话框里显示消息: IronRuby "Hello World" WPF 例程 在.NET之上实现一门语言的一个好处是,它允许使用该语言的开发人员完整地访问.NET框架提供的丰富的框架库。 作为对这个好处的一个简单示范,我将建一个HelloWPF.rb文本文件,在其中输入下列Ruby代码: 上面的代码使用了WPF UI框架,建立一个窗口,内含一个StackPanel布局管理器,开始时只包含一个按钮。按钮被点击后,创建了一个新的标签控件,加到StackPanel中 (导致该控件在Window中自动流动到相应位置)。 然后我可以将HelloWPF.rb文件作为参数传给rbx.exe来运行上面这个应用: 当我运行它时,我将得到一个内含一个WPF按钮的窗口(注意上面,我在上面的代码里给这个按钮加了一个好看的DropShadowBitmapEffect效果): 我每按一下这个按钮,一个新的标签控件就会添加进上面的窗口中: 可以使用所有的.NET API自然威力无比,但你也可以注意到,在我们编写的代码中,是如何自然地将.NET API集成进其他的语言句法的: 在上面的代码片段里,我使用了Ruby的block语言特性(类似于C# 3.0和VB9中的Lambda表达式),来实现WPF按钮的Click事件处理方法。注意在该block里,是如何使用标准的Ruby命名模式来访问任何.NET API的。比如,不是使用WPF Label控件的“FontSize”属性,我们用了“font_size”作为属性访问名字来访问该属性。IronRuby自动处理这样的命名转换,允许开发人员使用一致的命名模式来编程,而不用管他们所选择的语言。 结语 如果你有兴趣试验一下IronRuby这个早期版本的话,你可以在这里下载和编译其源码。 然后,你可以在这里下载我上面的WPF例程,自己运行一下(注:你必须预先安装了.NET 3.0 或 3.5,因为这些版本才提供WPF API)。想进一步了解WPF的话,我强烈推荐Adam Nathan的优秀著作《WPF Unleashed》(阅读一下Amazon上该书的评语就知道我推荐的理由了)。 希望本文对你有所帮助, Scott 标签: .NET...[阅读全文]

posted @ | Feedback (12) | Filed Under [ .NET ]