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給咱們提供一些關於你喜歡的和不喜歡的功能的反饋。

相關文章
相關標籤/搜索