ASP.NET 5 Beta6发布了(翻译)

感受就好像咱们刚刚发布了一个版本,如今咱们又要发布一个新的版本。开发团队经过努力工做在Visual Studio2015的正式版上提交使用ASP.NET 5开发工具的上的更新以及库的更新。新的版本为beta6,它在Framework和库上新增了一系列新的功能。接下来让咱们看看怎样将ASP.NET 5 beta 6添加到咱们的Visual Studio 2015的安装中来。html

安装

在ASP.NET 5 beta版本发布周期中第一次发布时候,咱们已经发布了新版的Visual Studio web开发工具支持更新的framework。因此当ASP.NET 5 新的beta版本发布的时候,以前的Visual Studio用户须要仔细检查重要的变化,须要手动作一些更新和修改,以即可以在Visual Studio上使用最新的ASP.NET 5 beta版本。从这个版本开始,你能够从下载中心获取到如何更新Visual Studio和其它你正在使用的编辑器的信息和下载相应的更新程序。git

Framework的更新

ASP.NET framework上有不少更新和变化。可是不用担忧这些变化并非breaking,并且还添加了一些你能使用的重要功能。github

SQL Server 分布式缓存

新的Microsoft.Framework.Caching.SqlServer库容许你利用SQL Server来存储ASP.NET 5应用的缓存。这个改进让你可以在运行ASP.NET web工厂状况下使用内存来缓存不太适合的时候缓存你的数据。你能够在你的项目文档中经过如下步骤来配置SQL Server缓存:web

  1. 经过运行dnu 命令行安装Microsoft.Framework.Caching.SqlConfig来添加sqlservercache命令到位于文件夹%userprofile%\.dnx\bin下的你的工做站。
  2. 运行sqlservercache命令“create <connection to db> <schemaname> <tablename>”来配置在数据库服务器上的缓存
  3. 在你的项目中添加对库Microsoft.Framework.Caching.SqlServer的引用
  4. 在ConfigureServices方法中使用ASP.NET的依赖注入方式来注册缓存。
    services.AddSqlServerCache(o =>
    {
        o.ConnectionString = "Server=localhost;Database=CacheSampleDb;Trusted_Connection=True;";
        o.SchemaName = "dbo";
        o.TableName = "CacheSample";
    });
  5. 经过添加参数形式到须要使用到IDistributedCache注入的对象。
    private void PeriodciallySetKey(IDistributedCache cache, TimeSpan interval)
    {
         Task.Run(async () =>
          {
             while (true)
             {
                   await Task.Delay(interval);
    
                   SetKey(cache, "A");
              }
           });
    }  

    你能够在这里经过到阅读官方发布的关于这个库的文档。sql

      

程序集的强命名的支持

如今你能够对编译过程当中的程序集进行强命名。在project.json文件中有对应的选项能够为不一样编译配置或framework版本配置不一样的强命名。像下面这样在compilationOptions节点中配置强命名选项:数据库

"compilationOptions": {
 
 "strongName": true,
 "delaySign": true,
 "keyFile": "MySecretKeyFile.snk"
 
 }

你能够将该节点放在project.json文件的根目录下,这样就设置全部的configurations和frameworks都采用相同的强命名选项,。你也能够将节点放在单独的某个configuration节点内或者某个framework节点内来设置对相应的configuration或framework的程序集的强命名选项。举个例子,好比我想对release配置的程序集进行强命名,我能够在project.json文件中这样配置该节点:json

{
...
"configurations": {
    "Debug": {
      "compilationOptions": {
        "define": [ "DEBUG"]
      }
    },
    "Release": {
      "compilationOptions": {
        "strongName": true,
        "delaySign": true,
        "keyFile": "MySecretKeyFile.snk",
        "optimize": true
      }
    }
  },
...
}

尾斜杠的支持缓存

配置路由,在末尾加上一个斜杠这个功能在以前MVC framework版本中支持,可是MVC6上尚未。如今,你能够经过Microsoft.AspNet.Routing.RouteOptions类的某个属性来配置这一功能。开启这个功能,很是简单,只须要在Startup类中的ConfigureServices方法中,注册RoutOptions实例到当前Service实例上:服务器

services.AddInstance(new RouteOptions()
 {
     AppendTrailingSlash = true,
 });

在WebListener上支持回发缓冲和缓存

对于服务端应用来讲,咱们使用全部可用的资源来提升性能。当运行ASP.NET 5在IIS上,你能够经过使用在HTTP.SYS中原始的回发缓存来获取高效的回发缓冲和缓存。从这个beta版本开始,运行在WebListener上你也能够获取一样的支持。你不须要在配置上作任何更改来获取支持。一旦使用了缓存回发的headers,你就能够获取更好的性能。async

MVC和WebAPI库越小越好

咱们知道许多ASP.NET开发人员喜欢MVC 6的WebAPI的实现方式。它确实工做的很是好并且从以前咱们得到的反馈了解到它带来很好的用户体验。咱们还据说一些开发人员,他们确实喜欢WebAPI并且不想让他们的应用在加载WebAPI不须要使用的资源上浪费时间,好比Razor或TagHelpers。

从beta6开始,你能够去除一些你不须要用的库引用从而引用MVC库的一个更小子集来使用WebAPI功能。一般来讲当你使用MVC 6,你仅须要引用一个库Microsoft.AspNet.Mvc,对于其余你须要的全部库,你能够经过短暂性依赖来引用。你能够称之为“间接库引用”,就好像库管理者容许全部组成MVC和WebAPI的依赖库在不须要额外的代码和配置都被引用在你的项目中。

在beta6上这个更新容许你指定那些间接库引用的子集。在上面所描述的场景中,WebAPI的开发者在不须要Razor和TagHelper全部功能时只须要利用project.json来指定依赖的子集来提供WebAPI-only程序。

总结

这个版本带来ASP.NET 5 frameworks版本的升级。咱们但愿你从这里下载ASP.NET 5 tools和framework,并使用它。在咱们面前仍然有很长的路要走,咱们真心但愿你按照ASP.NET 5的roadmap给咱们提供一些关于你喜欢的和不喜欢的功能的反馈。

相关文章
相关标签/搜索