完全的模組化
地端與雲端開發無縫接軌
開放原始碼
更快更短的部署週期
選擇你自己的編輯器
真正的跨平台
執行速度更快
IIS
.NET Framework
ASP.NET
Web
Forms
MVC Web API
System.Web
HTTP
Modules
HTTP
Handlers
Request
Pipeline
Caching
Session
State
OS
.NET CLR
ASP.NET
Web API MVC Web Pages
Host
IIS Self-hosted
.NET Core CLR
OWIN
dnvm list
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{$Branch='dev';iex ((new-object
net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}"
dnvm install latest
 就是原本的.NET Framework 4.5/4.6
 DNX 是執行環境
 將.NET Framework 組件 Packages 化
 真正跨多平台 (目前使用Mono)
 官方會推出跨多個平台的.NET Core 5
 Bower 是 Twitter 所推出的一種解決安裝、管理、打包 .js/JavaScript、CSS ,
與管理與相依性的工具。
 安裝 Bower 需要 npm 執行引擎
 更詳細關於 Bower 相關資訊可到官網:http://bower.io/
 Node.js 的套件管理員,如果你是前端工程師應該很熟悉,因為你可以透過
bower它來進行前端 CSS 與 JS 的安裝,再使用 grunt 或gulp進行自動化的打
包與壓縮前端 CSS 與 JS的作業。
http://bower.io/
Bower 安裝套件是透過 git 來下載
所以必須安裝 git 才可以使用 Bower
• 它是一種版本控制系統
• 它走分散式的架構
• GitHub 本身就是走 git
• VSO 與 TFS 目前都已經支援
gulp-minify-css
gulp-jshint
gulp-imagemin
gulp-livereload
gulp-rimraf
gulp-cache
gulp-ruby-sass
gulp-autoprefixer
gulp-notify
不過Mono4.0.1在
Ubuntu上執行
dnvm似乎有問題
啥…
https://github.com/aspnet/Home.git
public class StatisticsService
{
public async Task<int> GetCount()
{
return await Task.FromResult(1);
}
public async Task<int> GetCompletedCount()
{
return await Task.FromResult(2);
}
public async Task<double> GetAveragePriority()
{
return await Task.FromResult(0.0);
}
}
[TargetElement("myLabel")]
public class MyLabelTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("<label id={0} name={0}>{1}</label>", "myLabel", "我的LABEL");
output.Content = sb.ToString();
}
}
Razor
1. Instance:不管任何時候,針對特定物件,總是回傳給你最初建立
的物件實體。
2. Transient:每次叫用時,都重新 new 新的物件給你。
3. Singleton:對於目前的容器而言,幾乎就是全域物件。
4. Scoped:針對程式碼特定範圍內,等於 Singleton 物件。
https://github.com/aspnet/Home/issues/218
https://robinsedlaczek.wordpress.com/2014/11/22/dependency-injection-in-asp-net-vnext/
https://github.com/aspnet/DependencyInjection/find/dev
 The ASP.NET Site
 http://www.asp.net/vnext
 Introduction the ASP.NET 5
 https://msdn.microsoft.com/en-
us/magazine/dn879354.aspx
 The Visual Studio Blog
 http://blogs.msdn.com/b/visualstu
dio/
 ASP.NET 5 Documentation
 http://docs.asp.net/en/latest/
 Github for ASP.NET Home
 https://github.com/aspnet/Home/
 MSDN 台灣部落格
 http://blogs.msdn.com/b/msdntaiw
an/
http://www.dotblogs.com.tw/gelis/Default.aspx
https://www.facebook.com/groups/361804473860062/
Asp.net 5 新功能與變革

Asp.net 5 新功能與變革

Editor's Notes

  • #14 以往 .NET Framework 包山包海,每當需要一個縮小版的執行環境,就得推出一個精簡版的 .NET Framework,如之前的 Silverlight、Windows Phone 等,就是一個例子。 之所以會重新設計 ASP.NET 是因為這麼多年以來,.NET Framework 不斷地一直增加功能,而許多應用程式不見得都會使用到 .NET Framework 的所有功能,而且目前的設計似乎如果要使用.NET Framework 來撰寫、或是執行 ASP.NET 的應用程式時,就得在系統中安裝.NET Framework,微軟認為,未來,如果開放會是主流,那麼 .NET Framework 也不該與作業系統綁得太緊,更不應該內建在 Windows 裡,
  • #27 如果 Loader 的對象是 ASP.NET 5 的應用程式,那麼再交由對應的 Host Services 來(執行/掛載)該應用程式。 如要安裝 KRE 你得先安裝 KVM,安裝 KVM 可透過 PowerShell 命令來安裝,或是在命令提示字元裡執行:
  • #34 .NET Core 的體積變得更小了、你可以為你的每一個應用程式 部署 [專屬] 的 .NET Framework (BCL) ,且用多少,裝多少。
  • #36 有安裝 Visual Studio 2015 CTP 的朋友應該就會發現 ASP.NET 5 的專案結構很不一樣,原本你所熟悉的 web.config 不見了,當然有其他取而代之的項目 project.json & config.json,這是為了支援目前廣泛的 Open Source 的作法。
  • #37 編譯 CoffeeScript、TypeScript、JavaScript 編譯 LESS 到 CSS 打包/壓縮) 後的 .js 與 .css 的存放位置,下方的 grunt.registerTask("default", ["bower:install"]); 是表示註冊一個 default 的 task
  • #39 在早期的網頁設計中javascript的重要性很低,通常只是拿來讓網頁下雪阿,彈出個視窗等等並不是很重要的功能,連javascript的發明者都認為javascript是個失敗的產品,但在進入web2.0時代後Javascript 頓時成了顯學,大量的javascript函式庫出現,像是jQuery、extJS等等,javascript 的重要性也比之前提升很多。而因為javascript有一些開發者就開始想像如果有一天整個網頁都能夠只用javascript來開發那一定很棒,因此node.js誕生了。
  • #40 所以您必須先安裝 node.js,安裝好 node.js 後 npm 工具就包含在其中了。 接著再使用 Node.js command prompt 來安裝 Bower
  • #65 他不需要從原本的 Controller 的 ViewResult 一起回傳,可以自己有一個小型的 Controller ,所以 VCs 不會跟主要 View 的 Controller 有相依性,所以他可以解決我們以前用 Partial View 不容易解決的問題 如: 動態的互動選單 互動購物車 登入頁簽 .........等等
  • #74 IApplicationBuilder 註:在 ASP.NET 5 新的管線服務裡,所會使用到的middleware服務,一切的初始化工作都由 Startup 來進行,且它會先呼叫 ConfigureService 方法後,再呼叫 Configure 方法。 由 ASP.NET 5 框架主動呼叫
  • #85 比如 A 公司收購了 B 公司 了解一些社會現象