close

日前,微軟 Build 2015大會 (2015 五月初)發佈了許多新技術與訊息

微軟 MSDN Blog也分享了許多第一手資訊。


因為我只注重在 Web Form這塊,只摘錄這方面的重點

MVC 5 / Web API 2 / EF的用戶可以參閱原文

(發表於 2015/4/30,此時的VS 2015版本為RC版。後續文章的圖片也引用自原文)

==== 文章摘錄如下: ========================================================

What is 何謂  

Improvements in 

包含.NET Compiler Platform(Roslyn / 羅斯林專案)、在IIS上支援HTTP/2功能等等。

  

 
Authentication Updates
驗證的升級 
 

clip_image002
 

   

Enabling the .NET Compiler Platform (“Roslyn”) in 

 (點選圖片可超連結到原文) 

clip_image004

 使用Web Forms的用戶,上圖的底部(Error List)雖然出現一些錯誤訊息,但請您放心,不會影響到專案的正常運作。

 

  

Async Model Binding for Web Forms
Web Forms的 "非同步 Model Binding"

 ASP.NET 4.5把MVC使用的Model Binding讓Web Forms也能享有相同的便利。

ASP.NET 4.6則是為Web Forms使用的 Model Binding,加入非同步(Async.)功能。 
 
程式範例如下:(引用自原文網站)

 註解:底下的Web Forms用了 GridView控制項,透過Model Binding(查詢、撈出、Select Method)學生資料

<%--
    Web Forms page calling a select method to model bind to a list of students.
    The GridView uses Model Binding to bind to Student type in your app.
    To use Async Model Binding, mark your page with Aysnc=True attribute.
    --%>
 
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" Async="true"CodeBehind="Default.aspx.cs" Inherits="WebApplication226._Default" %>
 
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <asp:GridView runat="server" ID="studentsGrid"
        ItemType="ContosoUniversityModelBinding.Models.Student" DataKeyNames="StudentID"
        SelectMethod="studentsGrid_GetData"
        UpdateMethod="studentsGrid_UpdateItem"
        DeleteMethod="studentsGrid_DeleteItem"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        AllowSorting="true" AllowPaging="true" PageSize="4"
        AutoGenerateColumns="false">
        <Columns>
            <asp:DynamicField DataField="StudentID" />
            <asp:DynamicField DataField="LastName" />
            <asp:DynamicField DataField="FirstName" />
            <asp:DynamicField DataField="Year" />
            <asp:TemplateField HeaderText="Total Credits">
                <ItemTemplate>
                    <asp:Label Text="<%# Item.Enrollments.Sum(en => en.Course.Credits) %>"
                        runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <br />
    <br />
 
</asp:Content>
 
//Async method for Select
public async Task<SelectResult> studentsGrid_GetData(int startRowIndex, int maximumRows)
{
    SchoolContext db = new SchoolContext();
    var query = db.Students.Include(s => s.Enrollments.Select(e => e.Course));
 
    SelectResult result = new SelectResult(query.Count(),
        await query
        .SortBy("StudentID")
        .Skip(startRowIndex)
        .Take(maximumRows)
        .ToListAsync());
 
    return result;
}
 
譯者註解:您也可以參考這篇文章,使用 VB語法的 "非同步" Model Binding,範例如下。
 
別忘了 @Page指示詞裡面要加上   <%@ Page Language="VB" Async="true"
 
<asp:ListView runat="server" ID="vsTweetList"

     SelectMethod="vsTweetList_GetData" ItemType="LinqToTwitter.Status"> 

    <ItemTemplate> 

          <p>           <%#: $"At: {Item.CreatedAt.ToString("T")} on {Item.CreatedAt.ToString("d")}" %> 

          <br />           <%#: Item.Text %>           </p> 

    </ItemTemplate> 

    <ItemSeparatorTemplate>  <hr />  </ItemSeparatorTemplate> 
</asp:ListView>
 
 
Public Function vsTweetList_GetData() As IEnumerable(Of Status)

      Return GetTweetsFor("VisualStudio") 

End Function 
 
 
Public Async Function vsTweetList_GetDataAsync() As Threading.Tasks.Task(Of IEnumerable(Of Status))

      Return Await GetTweetsForAsync("VisualStudio") 

End Function
 

 .NET 4.6(VS 2015)推出後,Web Form的Model Binding也支援非同步的作法(透過 async與 await來傳遞 Task物件)

 

  

 
Add support for HTTP/2
支援HTTP/2

 在Windows 10與.NET Framework 4.6,增加了HTTP/2的支援。

HTTP/2的主要目標是讓瀏覽器到網站的單一連結,能夠改善效能、減少延遲、增加網路使用率。

 這一段影片有更多介紹

 

  

Updated Ajax Control Toolkit
Ajax Control Toolkit的更新 
Web Form開發者愛用的AJAX Toolkit也有更新。

=========================================================================


關於 Build 2015大會的新宣示,其他新的功能與說明

可以參閱 .NET Announcements at Build 2015

http://blogs.msdn.com/b/dotnet/archive/2015/04/29/...

上面文章裡面提到的幾個專有名詞,您可以查閱以前發表過的文章:

[中文翻譯] Visual Studio的 羅斯林專案(Roslyn Project)

[中文翻譯] ASP.NET 5 概觀 (ASP.NET 5 Overview,原作 Tom FitzMacken 2014/11/12)

[中文翻譯] ASP.NET 5 簡介(Introducing ASP.NET 5,原作ScottGu 2015/2/23)

關於 Model Binding在本網站的文章與範例,請看 http://www.dotblogs.com.tw/mis2000lab/Tags/Model%2...

關於 非同步(Async / Await)在本網站的文章與範例,請看 http://www.dotblogs.com.tw/mis2000lab/Tags/%E9%9D%9E%E5%90%8C%E6%AD%A5/default.aspx

 
 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

......... 寫信給我,mis2000lab (at) yahoo.com.台灣 .....................................................................................

................   facebook社團   https://www.facebook.com/mis2000lab   ............................

................   Google+   https://plus.google.com/100202398389206570368/posts ..............

................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

全站熱搜
創作者介紹
創作者 MIS2000 Lab 的頭像
MIS2000 Lab

MIS2000 Lab -- ASP.NET專題實務 / WebForm + MVC線上教學影片

MIS2000 Lab 發表在 痞客邦 留言(0) 人氣()