Visual Studio 2013的发布对ASP.Net和实体框架的重大改进

今天我们发布了VS2013和.NET4.5.1。在这些发布的产品中有很多重大的改进,包括ASP.NET和实体框架都有一些很大的增强。你现在可以下载,并且开始使用它们。

以下是ASP.NET,Web开发和实体框架的一些改进的详细信息,你可以充分利用它们。如果想要额外的发布通知,文档或教程,那么请访问https://www.asp.net/vnext

One ASP.NET

随着Visual Studio2013的发布,在使用不同的ASP.NET框架(Web窗体,MVC的Web API,SignalR 等)方面,我们已经迈出了第一步,现在你可以在单个应用程序中,轻松地混合和匹配你想要使用的不同的ASP.NET技术。

当用VS2013中操作“文件”-“新建工程”时,你会看到一个单独的ASP.NET项目选项:

image

选择这个项目将会弹出一个额外的对话框,让你启动一个基本的项目模板,然后选择性的增加/移除你想要在其中使用的技术。

例如,你可以用Web窗体模板开始,然后添加Web API或Web窗体来支持它,或创建一个MVC项目,并同时在项目里启用Web窗体页面:

image

在你的应用程序中,你可以很轻易的使用任何你想要的ASP.NET技术,并利用整个ASP.NET技术跨度内的任何功能。

支持更丰富的认证

新的“One ASP.NET”工程窗口还包括一个新的‘改变验证按钮’,按下时,使你可以很轻易改变你的应用程序所使用的验证方式 - 使得它更容易成为安全的应用程序,使你可以在各种各样身份验证时,单点登录。

例如,当你以ASP.NET Web窗体或MVC模板开始时,你可以很容易地添加下列任何身份验证选项到应用程序:

•无认证

•单个用户帐户(单点登录支持Facebook,Twitter ,谷歌和微软的ID - ASP.NET成员资格或窗体身份验证)

•组织账户(单点登录支持使用Windows Azure Active Directory)

• Windows身份验证( Intranet应用程序中的Active Directory )

支持Windows Azure 活动目录特别酷。上个月,我们更新了Windows Azure 活动目录,使开发人员现在可以用它轻松地创建任意数量的目录(免费,并在几秒钟内部署) 。现在只需一会儿就能在Windows Azure 活动目录中单击登录你的ASP.NET应用程序。只需在更改身份验证对话框内选择“组织帐户”单选按钮,输入你的Windows Azure 活动目录名称,这样做:

image

使用Windows Azure 活动目录来自动部署ASP.NET应用程序,并且注册应用程序。现在,当你运行应用程序时,你的用户可以轻松,安全地用他们的活动目录登录- 不管应用程序是否驻留在因特网上。

关于创建Web项目过程的更多信息,请参阅Creating ASP.NET Web Projects in Visual Studio 2013

 

Bootstrap创建响应项目模板

对于ASP.NET Web Forms ,MVC,Web API和SPA,新的默认的项目模板使用Bootstrap来创建。Bootstrap是一个开源的CSS框架,它可以帮助你构建响应网站,即使在不同外形尺寸的平台,如手机,平板和电脑桌面,响应网站都看起来很棒。例如,由MVC模板创建的主页在浏览器窗口中看起来像下面这样:

image

当你缩小浏览器,就如手机上的浏览器一样.你可以看到浏览器中的内容依然很规范,并且水平主菜单会变成一个图标:

image

当你在它上面点击菜单按钮,它就会扩展成垂直菜单- 它使得在小屏幕设备中一个良好的菜单导航体验:

image

我们认为Bootstrap使开发人员能够构建Web应用程序,甚至可以在手机,平板电脑和其他移动设备上更好的工作 - 使你可以轻松地构建应用程序,可以利用已经在那里丰富的Bootstrap CSS模板。在这里,你可以了解更多关于Bootstrap。


Visual Studio中的Web工具的改进

Visual Studio2013中包含一个新的,更丰富的HTML编辑器,它 用于编辑Web应用程序中的的Razor文件和HTML文件。新的HTML编辑器基于HTML5提供了一个单一的统一模式。它具有自动完成,jQuery UI和AngularJS 属于智能感知,属于智能感应的分组,和其他巨大的改进。

例如,键入“ng -”在一个HTML单体上会显示的IntelliSense AngularJS:

 

image

这支持AngularJS, Knockout.js,Handlebars和其他SPA技术,在此版本的ASP.NET和VS2013,使得它更容易来构建丰富的客户端Web应用程序:

image

下面的屏幕截图演示了如何在HTML编辑器中检查你在页面设计时,确定那些所有可用的CSS类。在这种情况下,自动完成列表中包含了Bootstrap的CSS文件中的类。不用更多的去猜测你需要使用哪个Bootstrap元素名称:

image

 

Visual Studio2013中还内置CoffeeScript的编辑支持。少的编辑器自带的CSS编辑器很酷的功能,并具有特定的IntelliSense在所有文件在@进口手拉变量和混入。

浏览器链接 - 浏览器和 Visual Studio 之间 SignalR 通道

在VS2013中新的浏览器链接功能可以让你在多个浏览器中运行你的应用程在你的dev的机器上,将它们连接到Visual Studio中,同时,只需通过点击工具栏中的一个按钮刷新所有。你可以连接多个浏览器(包括IE,火狐,Chrome)到你的设计网站,包括移动模拟器,并单击刷新按钮同时刷新所有的浏览器。这使得它能更容易地在多个浏览器中并行的开发/测试。

image

浏览器链接也展示了一个API,使开发人员能够编写浏览器链接扩展。开发人员能够利用浏览器链接API ,它能够创造出非常先进的方案,跨越Visual Studio和任何连接到它的浏览器之间的界限。网络要素利用API可以创建一个集成体验在Visual Studio和浏览器的开发工具,以及远程控制移动仿真器和更多东西之间。

我们会充分利用这种支持,去创建更酷的应用方案。

ASP.NET 支架

ASP.NET支架是一个新的ASP.NET Web应用程序的代码生成框架。这使得它容易将模板的代码以数据模型的方式添加到你的项目。在以前版本的Visual Studio ,支架仅限于ASP.NET MVC项目。现在,随着Visual Studio 2013的发布,你可以使用支架创建任何ASP.NET项目,包括Web窗体。

使用支架时,我们确保所有必需的依存会自动的为你的项目安装。例如,如果你以ASP.NET Web窗体项目开始,然后使用的支架添加Web API控制器 ,必需的NuGet软件包和引用,这样可以使Web API自动的添加到你的项目中。要做到这一点,只需选择“添加” - > “新建支架项目上下文菜单:

image

对于异步控制器,支架支持在实体框架6中使用新的异步功能。

ASP.NET 认证

这次.NET 4.5.1的发布也介绍了ASP.NET认证是ASP.NeT 的一个新应用。

ASP.NET认证与应用程序数据可以很容易地集成用户特定的配置文件数据。 ASP.NET身份还允许你在你的应用程序中选择用户配置文件的持久性模型。你可以将数据存储在SQL Server数据库或其他数据存储,包括NoSQL数据存储,如Windows Azure存储表。 ASP.NET身份还支持基于声明的验证用户的身份,表示为一组从受信任的发行人所要求的。

用户可以通过在网站上创建一个帐户,用用户名和密码登录,也可以使用社交身份提供商(如Microsoft帐户的Twitter,Facebook ,谷歌) ,或使用的Windows Azure Active Directory或Active Directory联合服务组织帐户,通过登录( ADFS )。

请访问

https://www.asp.net/aspnet/overview/authentication-and-identity. 了解更多有关于如何使用ASP.NeT

 

 

ASP.NET Web API2

ASP.NET Web AP2I包含非常大的改进:

 

属性路由

现在ASP.NET Web API支持attribute routing,https://attributerouting.net 的作者蒂姆·麦考尔的贡献。用attribute routing你也可以通过注释运用控制器来识别你的Web API路径

image

OAuth 2.0 support

现在的Web API和单页面应用程序的项目模板支持使用OAuth2.0. OAuth2.0是授权客户端访问并且是受保护资源的框架。它适用于各种客户端包括浏览器和移动设备。

OData Improvements

现在的ASP.NET Web API也提供支持OData的端点和ATOM和JSON光格式的支持。使用OData会支持以下操作,丰富的查询语义,寻呼, $元数据, CRUD操作,在任何数据源和自定义操作。下面是ASP.NET Web API 2 OData的一些具体改进。

• 支持$选择, $扩展, $批处理, and $值

• 提高了可扩展性

• 支持少用类型

• 使用已经存在的模板

 

 

OWIN Integration

ASP.NET Web API现在完全支持OWIN并且可以运行任何OWIN主机。对于OWIN集成,你可以沿着OWIN中间件,在你的进程中自托管Web API。

Use OWIN to Self-Host ASP.NET Web API查看更多详细信息。

更多Web API 改进

除了上述功能外,ASP.NET Web API还有很多其他功能,包括:

• CORS支持

• 身份验证筛选器

• 过滤器覆盖

• 改进的单位可测性

• 便携式ASP.NET Web API的客户端

https://www.asp.net/web-api/ 了解更多信息


ASP.NET SignalR 2

ASP.NET SignalR是ASP.NET开发者的一个库,它可以大大简化在你的应用程序里添加实时web功能的过程。

实时Web功能是推动及时连接客户端和服务器端的代码的能力, SignalR2.0引入了一个很大的改进。我们增加了跨地资源共享(CORS)的支持。 SignalR iOS和Android的支持也增加了使用从Xamarin库使用MonoTouch的和MonoDroid组件,(关于如何使用这些新增的信息,请参阅SignalR的文章Using Xamarin Components)。

我们还增加了SignalR2.0便携式.NET客户端,并创建了一个新的托管软件包。这一变化使得安装SignalR Web过程托管与托管SignalR应用之间更加一致.

请查阅https://www.asp.net/signalr 了解更多信息.

ASP.NET MVC 5

ASP.NET MVC项目是一个新集成在ASP.NET的模板,你可以集成所有上面的ASP.NET Web API,SignalR和身份认证。你还可以自定义你的MVC项目,并使用一个ASP.NET项目创建向导配置身份验证。MVC模板也已经使用ASP.NET身份验证。ASP.Net的简单入门: ASP.NET MVC5的入门教程.

这次发布的ASP.NET MVC还支持一些具体的功能:

• 身份验证筛选器,这些过滤器允许你指定认证逻辑每个动作,每个控制器或全球所有控制器。
•Attribute Routing: Attribute Routing允许你定义你的路由的行动或控制器。

https://www.asp.net/mvc 了解更多信息。

实体框架 6 的改进

Visual Studio2013中集成实体框架6,带来了很多新的数据存储功能:

异步和 Task<T> 支持

 

EF6的新异步查询和保存支持能够使你执行异步数据进程,同时也能利用task<T>支持(这个在数据进程方案的.NET 4.5里已经介绍过了)。对于可能会受阻的数据访问请求线程,这是允许你释放的,在你等待数据库引擎来处理业务的时候,使他们能够用于处理其他请求。当数据库服务器响应该线程,这些线程将在ASP.NET应用程序中被重新排队,并继续执行。这使你可以轻松地编写明显更具可扩展性的服务器代码。

这里有一个例子,ASP.NET WebAPI可以利用新的EF6异步查询方法:

image

拦截及记录

拦截和SQL日志记录允许你查看 – 甚至改变 - 每一个通过实体框架被发送到数据库的命令。这包括一个简单的,可读的日志 - 这对于调试来说是极棒的 – 而且一些较低级别的构建障碍,你可以访问它的命令和构建结果。这是一个连接上的简单日志, 它是在一个MVC控制器的构造函数里调试的日志。

image

自定义代码第一公约

新的自定义代码第一公约能够在代码第一模式下大量配置 - 你需要编写和维护的代码量减少。当你的域类不匹配代码第一公约的时候,就显示出这个公约是很棒的。例如,以下公约配置了所有属性,这些属性被称成为所属实体主键的关键。这是不同于默认的代码第一公约所预期的ID或<type > ID。

image

 

连接弹性

EF6新的连接跳回功能,使你能够注册一个执行策略来处理 - 有可能重试 - 数据库操作失败。部署到丢弃连接的云环境变得更加常见,因为你使用了负载均衡和分布式网络,这是非常常见的。

EF6包括一个内置的SQL Azure的执行策略,它知道重试异常类型,并有一些感知 - 但会重写 – 在重试的过程中当有错误发生时,重试的数量和时间是默认的。使用新的基于配置的代码支持,注册时很简单的。

clip_image002[4]

这些都只是一些EF6中的新功能。你可以访问发行说明实体框架网站的新功能的完整列表。

微软 OWIN 组件

打开Web界面。 NET ( OWIN )定义了一个开放的抽象观念在NET Web服务器和Web应用程序之间,ASP.NET的“Katana”项目将这个抽象概念带到ASP.NET

OWIN从服务器断开Web应用程序, 使得Web应用程序与主机无关。例如,你可以在一个自定义的过程中承载基于OWIN的Web应用程序在IIS或自我主机。欲了解更多信息关于OWIN和Katana,看看有什么新在OWIN和Katana

总结

在今天的Visual Studio 2013中, ASP.NET和实体框架版本提供了一些精彩的新功能,简化你的web开发生命周期。这些功能包括从服务器架构到数据访问到客户端的HTML开发工具。还集成了一些很棒的开源技术和贡献.

在这可以下载并使用这些资源.

斯科特

附:除了写博客外,我现在还使用Twitter的快速更新和共享链接。作者: twitter.com / scottgu