使用下一代的visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

30

Upload: study4tw

Post on 24-May-2015

1.021 views

Category:

Technology


3 download

DESCRIPTION

使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 ) - Sky

TRANSCRIPT

Page 1: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
Page 2: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

使用下一代的 Visual Studio 14開發下一代的 ASP.NET MVC vNext ( MVC 6 )Sky Chang

天空的垃圾場blog.sanc.idv.

tw

Page 3: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext and the Modern Web

選擇你想要的編輯器與工具

完全開源並可貢獻 跨平台OSS

無縫銜接雲和本地

快速的開發週期完全模組化

快 !

Page 4: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext - Summary

Feature .NET vNext

.NET vNext (Cloud Optimized)

Cloud Ready * *

Modular Design * *

Dependency Injection * *

Consistent Tracing / Debugging * *

Faster Development (No Build Step) * *

Open Source * *

Full Side by Side (framework deployed inside application)

*

Fast startup, Low memory / High throughput (best of class)

*

MVC, Web API, Web Pages 6, SignalR 3, EF 7

Page 5: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext – 兼容性Web Forms, MVC 5, Web API 2, Web Pages 3, SignalR 2, EF 6

完全支援 .NET vNext

MVC, Web API, Web Pages 6, SignalR 3, EF 7重大改變 :

New project systemNew configuration systemMVC / Web API / Web Pages 合併無 System.Web, 新的輕量 HttpContext ( 非 System.Net.Http)改為 Dependency Injection

.NET vNext (Cloud Optimized).NET vNext Framework 的子集

有些東西可能無法使用 ( 例如 : images )

Page 6: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

.NETvNext Web and services

Future of .NET

Device optimized Native compilation 小且輕量 , 並行 跨平台

Cloud optimized 高吞吐量 小且輕量 , 並行 跨平台

Windows Store, WPF, Windows Forms, Console apps and related libraries.

ASP.NET vNext: Web Forms, MVC, Web Pages, Web API, SignalRWCF

Client apps

Next gen JIT (“RyuJIT”)

SIMD (Data Parallelization)

Runtime

Compilers.NET Compiler Platform (“Roslyn”)

Languages innovationBCL and PCLEntity Framework

Libraries

Common

Openness

多用途

專門

Page 7: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Language and IDE

VS 可擴展開發經驗

Open Source

.NET Compiler Platform (“Roslyn”)

Scenarios/usage cases

OSS

API

C#VB

下一代 .NET Compilers

API: 開放平台豐富的 IDE 功能 / 重構程式碼分析自訂診斷開源編輯器

“Roslyn” is the basis for .NET and Visual Studio vNext

Page 8: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

.NET Compiler Platform (“Roslyn”)

從前隔離 / 封閉 compilers

難以擴展開發經驗

C#, VBSource code

.exe/.dilIL assemblies

Established .NET compilers

演進下一代 .NET Compilers

API: 開放平台豐富的 IDE 功能 / 重構程式碼分析自訂診斷開源編輯器

.NET Compilers Platform(a.k.a. ROSLYN)

C#, VBSource code

.exe/.dilIL assemblies

Open platform for developers

Page 9: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

DemoNew project system 、 New configuration system

Page 10: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Demo模組化、快速開發、無縫銜接雲和本地

Page 11: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Demo編輯器與工具、完全開源、跨平台

Page 12: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext & K Project

Page 13: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext & K project

Page 14: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext & K project

Page 15: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Helios太陽神實作 OWIN , IIS 上的一層 ...

KLR ( K Language Runtime )負責尋找、調用 CLR Native Host.

KRE ( K Runtime Engine )KVM ( K Version Manager )KPM ( K Package Manager )K

ASP.NET MVC 6

Page 16: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

KRE ( K Runtime Engine )

Page 17: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET MVC 6

Page 18: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET MVC 6Route

Web API

Page 19: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

DemoRoute & Web API

Page 20: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET MVC 6Area

只需要 Route 做設定任何 Controller 都可以使用Attribute 設定 Area會自動對應到 Areas 目錄下的View

Page 21: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

DemoAreas

Page 22: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

POCO Controller

Page 23: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Demopoco Controller

Page 24: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Old ASP.NET MVCRequest-Handling

Page 25: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

ASP.NET vNext – 兼容性為什麼會有 POJOPOJO 的意義POJO 與 PO( 持久對象 ) 、 VO(ValueObject) 的區別POJO 的擴展POCO VS DTOPOCO Controller

Page 26: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

Dependency Injection

Page 27: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

DemoDependency Injection

Page 28: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

注入流程

Page 29: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )

注入生命週期Lifestyle Description

Instance A specific instance is given all the time. You are responsible for its initial creation

Transient A new instance is created every time

Singleton A single instance is created and it acts like a singleton

Scoped A single instance is created inside the current scope. It is equivalent to Singleton in the current scope

Page 30: 使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )