Upload
study4tw
View
1.021
Download
3
Embed Size (px)
DESCRIPTION
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 ) - Sky
Citation preview
使用下一代的 Visual Studio 14開發下一代的 ASP.NET MVC vNext ( MVC 6 )Sky Chang
天空的垃圾場blog.sanc.idv.
tw
ASP.NET vNext and the Modern Web
選擇你想要的編輯器與工具
完全開源並可貢獻 跨平台OSS
無縫銜接雲和本地
快速的開發週期完全模組化
快 !
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
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 )
.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
多用途
專門
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
.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
DemoNew project system 、 New configuration system
Demo模組化、快速開發、無縫銜接雲和本地
Demo編輯器與工具、完全開源、跨平台
ASP.NET vNext & K Project
ASP.NET vNext & K project
ASP.NET vNext & K project
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
KRE ( K Runtime Engine )
ASP.NET MVC 6
ASP.NET MVC 6Route
Web API
DemoRoute & Web API
ASP.NET MVC 6Area
只需要 Route 做設定任何 Controller 都可以使用Attribute 設定 Area會自動對應到 Areas 目錄下的View
DemoAreas
POCO Controller
Demopoco Controller
Old ASP.NET MVCRequest-Handling
ASP.NET vNext – 兼容性為什麼會有 POJOPOJO 的意義POJO 與 PO( 持久對象 ) 、 VO(ValueObject) 的區別POJO 的擴展POCO VS DTOPOCO Controller
Dependency Injection
DemoDependency Injection
注入流程
注入生命週期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