Share via


Visual Studio 11 测试版

[原文发表地址]   Visual Studio 11 Beta in Context

[原文发表时间] 2012-02-29 21:25

今天发布了 Visual Studio 11 测试版,并可供下载了。不想读一篇大博客文章吗?嘘呜;)

太远了吗?好的,酷。我想做一篇博文,它不仅为你指向一大堆的其他资源,而且将更普遍回答平常的问题。四年前我在去微软工作之前问的那个问题。我总是问:发生什么变化了,为什么我要在乎?

"One ASP.NET"

我和我的同事一直研究的事情之一是OneASP.NET的想法,在测试版之后甚至长远点说是终极版之后将会更明显。我们囊括整个框架、 列子、 模板和 NuGet,以确保事情一起紧密工作。你会听到更多关于此的信息,因为我们坚定它。

ASP .NET的一些指导原则是这些:

  • 子系统的每个合理组合正常运行
  • 模型是容易被社区项目所扩展的 (不只是我们 !)
  • 每个子系统或应用程序的类型包括一个与其他一起使用的示例*。

这里是我一直在玩的箱形图解。

这些原则是推动(和继续推动) ASP .NET这个开发周期的事情。我们正试着给你杰出的mobile选项和杰出的 HTML5 和 CSS3 JavaScript 支持,还包括像 Modernizr、 jQuery、 jQuery UI的开放资源库和Knockout。

我们正致力于一个更可插入、 更友好,但仍然强大的 ASP.NET。再次,很快就会有关于此的更多惊喜。我们将会看到NuGet的更有趣的用途,更强大的可插入能力, 更多示例和更多的系统一起工作。

你想要混合和匹配一个ASP.NET Web API,用JSON.NET 序列化,使用 MongoDB,同时运行 Web 页和 Web 窗体,添加一些SignalR 和几个 WCF 企业 Web 服务吗?在 ELMAH、 Glimpse、 图像调整器和你最喜欢的 NuGet 软件包中添加吗?完全可以。并鼓励你这样做。这是One ASP.NET,包含了所有。

.NET Framework 4.5 测试版

在我的大部分体验中,.NET 4.5 是一个非常兼容的版本。.NET 4.5 升级了.NET 4,.NET 3.5 升级了.NET 3 (和 2,虽然我们试图发挥版本控制规则,现在,谢天谢地。)绝大多数.NET 4 应用程序应该能在.NET 4.5上正常运行,除非你做了一些外来的事情。我自己没有遇到任何问题,但我听说一些家伙在做 ILMerge 和其他东西时,遇到了一些不寻常的边界情况。

若干新的改进。我最爱和最感兴趣的功能是(这些都有点模糊,却是很好的修复):

  • 限制了正则表达式引擎在超时之前尝试解析一个正则表达式的时间。
  • Zip 压缩改进以减少压缩文件的大小。
  • 在检索资源时,有更好的性能。
  • 升级到MEF以更好地支持泛型。
  • 在 I/O 类中针对异步文件操作的新的异步方法
  • 支持国际化域名解析
  • WPF Ribbon控件
  • WCF HTTPS 协议映射
  • WCF 异步流支持
  • WCF 契约优先的开发,以及? 服务URL的 singleWSDL

测试你的应用程序,如果你有问题,请告诉我们。这是测试版,还有时间修复一些东西。

请不要犹豫在团队博客或监控的论坛中张贴评论,:连接(报告缺陷)、用户心声(请求功能) 和MSDN 论坛(求助)。我知道有些家伙有时遇到连接的问题,但我们正在积极监控所有这些地方,并试图给你一个明确的答案。

ASP.NET 核心框架

这里是关于 ASP.NET 4.5 和 Visual Studio"Web 开发人员"11 测试版中的新功能的详细的版本文档说明。核心ASP.NET 框架有很多围绕异步的新支持。异步一直是贯穿整个 Visual Studio 11 过程的主题, ASP.NET充满了这一领域的改进。

支持await关键字和基于任务的模块及处理程序。

    1: private async Task ScrapeHtmlPage(object caller, EventArgs e)
    2:  {
    3:        WebClient wc = new WebClient();
    4:        var result = await wc.DownloadStringTaskAsync("https://www.microsoft.com");
    5:       // Do something with the result
    6: }

甚至 IHttpAsyncHandler (经典和困难的事情) 现在有了一位朋友:

    1: public class MyAsyncHandler : HttpTaskAsyncHandler
    2: {
    3:         // ...
    4:         // ASP.NET automatically takes care of integrating the Task based override
    5:         // with the ASP.NET pipeline.
    6:         public override async Task ProcessRequestAsync(HttpContext context)
    7:         {
    8:                WebClient wc = new WebClient();
    9:                var result = await
   10:                wc.DownloadStringTaskAsync("https://www.microsoft.com");
   11:                // Do something with the result
   12:         }
   13: }

包含了来自常用AntiXssEncoder库中的核心编码例程,安全方面也改进了,你可以插入你自己的。

当在 Windows 8 上运行时,ASP.NET也有 WebSockets支持:

    1: public async Task MyWebSocket(AspNetWebSocketContext context)
    2:  {
    3:        WebSocket socket = context.WebSocket;
    4:        while (true)       
    5:        {   
    6:        ...   
    7:        }
    8: }

捆绑和缩小是内置的,也是可插入的,所以你可以为你自己换出自己的技术,或你最喜欢的开放源码。

有很多性能改进,包括密集工作负载功能,能减少.NET 4.5 和 Windows 8中35%的启动时间和内存占用量。

ASP.NET 4.5还支持多核的 JIT 编译,这样启动更快了,和更多的支持以优化你的服务器的特定需求的 GC。

ASP.NET Web Forms

在Web Form中有很多细化和改进。最喜欢的一些是强类型数据控件。我写过一篇关于此的博文——优雅的Web Form。现在在控件中有两种数据绑定方式,例如FormView,不是使用Eval() ,并且你将在像Repeaters中获得intellisense和强类型的 modelTypes。

Web Formd还获得了ASP.NET MVC 的用户所熟悉的模型绑定(One ASP.NET 战略的所有部分)。请注意下面的GetCategories 调用将绑定到一个有 IQueryable 的视图中。

    1: public partial class Categories : System.Web.UI.Page
    2: {
    3:     private readonly DemoWhateverDataContext _db = new DemoWhateverDataContext();
    4:     public void Page_Load()
    5:     {
    6:         if (!IsPostBack)
    7:         {
    8:             // Set default sort expression
    9:             categoriesGrid.Sort("Name", SortDirection.Ascending);
   10:         }
   11:     } 
   12:      
   13:     public IQueryable<Category> GetCategories()
   14:     {
   15:         return _db.Categories;
   16:     }
   17: }

在此示例中,不是在 Request.QueryString 周围深入,我们以这种方式得到了我们的关键字参数:

 

    1: public IQueryable<Product>GetProducts([QueryString]string keyword)
    2:  {
    3:       IQueryable<Product> query = _db.Products;
    4:       if (!String.IsNullOrWhiteSpace(keyword))
    5:       {
    6:             query = query.Where(p => p.ProductName.Contains(keyword));
    7:       }
    8:       return query;
    9:  }

Web Forms也获得渐进式的验证、 HTML 5 更新和元素,那些喜欢 jQuery也喜欢 Web Forms控件 (以及 Ajax 控件工具包)的人将兴奋不已地签出JuiceUI项目 。它是制作 jQuery UI 的ASP.Net Web Forms 组件的开放源集合,它是可用的,它对Web Forms的人们来说熟悉的方式。

ASP.NET MVC Web API

上星期我写了一篇博文—— 使用ASP .NET MVC 4 Beta 和 ASP.NET Web API制作JSON Web ApI。ASP.NET MVC 4 包括这些新功能 (和更多),并且包含在 Visual Studio 11 测试 版中。

  • ASP.NET Web API
  • 刷新和现代化的默认项目模板
  • 新的移动项目模板
  • 许多新的功能以支持移动应用程序
  • 自定义代码生成
  • 加强对异步方法的支持
  • 版本说明中读取完整功能列表

Matt Milner有一篇很好的帖子,是关于 ASP.NET Web API 和 WCF 的在那儿适当地汇聚和分散,什么情况下选择其中的一个。我也在做一篇更详细的博文,但我喜欢马特的评价:

当你在意传输的灵活性时, WCF是构建服务的框架。当你在意 HTTP时, WebAPI 是构建服务的框架。

ASP.NET Pages 2

新功能包括:

  • 新的和已更新的网站模板。
  • 使用验证帮助程序来添加服务器端和客户端的验证。
  • 使用资产管理器来注册脚本的能力。
  • 能够使用OAuth和 OpenID从Facebook 和其他网站登录。
  • 使用Mapshelper添加映射。
  • 并排运行网页应用程序。
  • 为移动设备呈现页面。

当 Web Matrix 2 出来时,我将谈谈更多在Razor和 Web Pages 2上的东西

Visual Studio- 针对Web 开发人员

在Web 开发人员工具的团队博客中有一个功能和修复的扩展列表。这里是我最爱的几个。

HTML 编辑器对于HTML5是智能的,你可以用ASP.NET技术开发任何智能的HTML5 网站。

Lot of new Web Features - Hello Opera users! 

CSS 编辑器有新的格式程序、 颜色选择器、 更好的缩进、 智能代码段和特定供应商的IntelliSense。那边的截图是Webkit和Opera。

Javascript 编辑器有 IE10 的 Javascript 引擎,支持 Javascript 作为第 1 个类公民,包括其他语言中的所有支持,例如转到定义、 大括号匹配和更多。

页面检查器是全新的,它让你查看源代码文件(包括服务器端代码)中的什么元素产生了浏览器中呈现的 HTML 标记。现在IIS Express是默认 web 应用程序主机。

所有链接

一般信息

下载

    • VS 11 测试版将在 2012 年 6 月 30 日到期。
  • Windows 8 的开发工具

    • 如果你使用的是 Windows 8,你将想要使用此来开发地铁样式应用程序。
  • TFS 11

(对于 IT 的家伙) 二次下载

遇到了 Visual Studio 的问题?请抱怨(友善地)和在用户心声网站为功能和关注投票.

遇到了 ASP.NET的问题?请抱怨(友善地) 和在用户心声网站为功能和关注投票或在ASP .NET 的论坛 提问。https://asp.net/vnext上也有一些新的视频、 教程和信息,我们会继续用新内容来更新网站。

希望你喜欢测试版。请花一点时间来安装它,尝试一下,并提供反馈。只要你提供了反馈,我们就有时间做出更改、 修复和改进。