<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=ASP.NETCore</id>
	<title>ASP.NETCore - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=ASP.NETCore"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=ASP.NETCore&amp;action=history"/>
	<updated>2026-06-26T10:33:19Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=ASP.NETCore&amp;diff=461145&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=ASP.NETCore&amp;diff=461145&amp;oldid=prev"/>
		<updated>2025-08-23T04:30:07Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ASP . NET Core&amp;#039;&amp;#039;&amp;#039;是新一代的 ASP . NET，早期號做 ASP . NET vNext，並且咧推出初期號名做 ASP . NET 五，毋過隨著 . NET Core 的成熟，以及 ASP . NET 五的號名予外界將伊看做是 ASP . NET 的升級版，但伊其實是新一代對頭開始打造的 ASP . NET 核心功能，因此微微仔軟宣佈共改做佮 . NET Core 仝步的名，即 ASP . NET Core。&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 可運行佇咧 Windows 平台佮非 Windows 平台，如 Mac OSX 以及 Ubuntu Linux 作業系統，是 Microsoft 第一个有跨平台能力的 Web 開發框殼。&lt;br /&gt;
&lt;br /&gt;
微軟佇咧一開始開發就將 ASP . NET Core 開源，因此伊嘛是開源專案的一員，由 . NET 基金會 ( . NET Foundation ) 所管理。&lt;br /&gt;
&lt;br /&gt;
==開發的歷程==&lt;br /&gt;
&lt;br /&gt;
ASP . NET vNext 上早是佇二空一四年五月被提出，彼當陣是用專案代號 K ( Project K ) 號名，包含工具佮執行期平台攏以 K 來號名，這个名稱做 KRE ( K Runtime Environment ) 如：&lt;br /&gt;
&lt;br /&gt;
* KLR ( K Language Runtime ) : Project K 的執行期平台。&lt;br /&gt;
* KVM ( K Version Manager ) : Project K 的版本的管理員。&lt;br /&gt;
* KPM ( K Package Manager ) : Project K 的套件管理員，類似 node . js 的 npm ( Node . js Package Manager )。&lt;br /&gt;
* K ( K Loader ) : Project K 的程式啟動器。&lt;br /&gt;
&lt;br /&gt;
KRE 佇咧二空一四年度的時陣捌一度佇咧版本黜規个出現 RC 的字眼，毋過隨後 ASP . NET Core 開發團隊發出一份新的 Roadmap，公佈後續的版本計畫。&lt;br /&gt;
&lt;br /&gt;
到位矣 Build 二千空一十五時，微軟將專案 K 重號名，改稱做 . NET 執行環境 ( . NET Execution Environment )，簡稱 DNX，其實工具嘛開始咧進行更名 :&lt;br /&gt;
&lt;br /&gt;
* DNVM ( . NET Version Manager ) : DNX 的版本的管理員。&lt;br /&gt;
* DNU ( . NET Package Manager ) : DNX 的工具，會當支援建造，閣原佮管理封裝等等。&lt;br /&gt;
* DNX ( . NET Loader ) : DNX 的程式啟動器。&lt;br /&gt;
&lt;br /&gt;
後續到矣 ASP . NET Core RC 一時，. NET Core 已經發展甲熟矣，而且嘛有家己的工具 . NET Core CLI ( dotnet . exe )，這當陣微軟決定欲 DNX 和 . NET Core CLI 合併，並且正式於 ASP . NET Core 一垺零 . 零 RC 兩个時陣欲 DNX 支援終止，改由 . NET Core CLI 提供基礎的編譯佮執行功能。&lt;br /&gt;
&lt;br /&gt;
==核心功能==&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 核心設計上是採用 Open Web Interface for . NET ( OWIN ) 為概念發展，OWIN 佇咧概念就強調講以程式碼來定義系統功能，並一度佇咧 ASP . NET MVC 五列入其功能之一，後續的 Web API 佮 SignalR 嘛使用矣 OWIN，但並無引起太濟開發人員的重視，其主要因為這條 Visual Studio 簡化了傷多元件間參考定義的工課，若是欲回歸由原始碼作業，顛倒會予開發人員閣無法度適應。毋過隨著微軟確定將 ASP . NET Core 開發做會當迒平台的核心架構的時，其專案參考系統嘛有 Visual Studio 為主的加入參考對話盒仔踅向到以 project . json ( . NET Core / ASP . NET Core 的專案組態檔 ) 為主，予開發人員袂當閣用 GUI 介面來加入元件參考，利用編輯 project . json 的方式加入，這陣由程式碼加入功能的做法才慢慢仔予人開發人員所接受，雖然講這佇 Mac 以及 Linux 環境是閣較平常猶毋過的代誌。&lt;br /&gt;
&lt;br /&gt;
===是由程式碼決定功能===&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 講法法應用矣 . NET 的擴充方法 ( Extension Method )，將 ASP . NET Core 的功能模組 ( ASP . NET Core 伊的術語是 Middleware ) 以擴充方法的方式佮掛佇咧 IApplicationBuilder 介面上，以 Use 一開頭的方法為號名標準，所有應用程式所需要的功能攏愛添加佇咧 Startup 類別內，DNX Runtime 佇咧啟動的時陣會揣應用程式來看 Startup 東西，並且喚起伊內底的特定方法 ( 如 Configure ( ) )，以加入應用程式的功能。&lt;br /&gt;
&lt;br /&gt;
像下列程式碼：&lt;br /&gt;
&lt;br /&gt;
===內建的相依注入===&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 核心內起了基本的相依注入 ( Dependency Injection ) 能力，這意味對 ASP . NET Core 應用程式有閣較強的擴充能力，連帶的如 ASP . NET Core MVC ( ASP . NET Core 的 Web 開發框殼 ) 嘛因為 ASP . NET Core 的相依注入功能，可在 Controller 內直接注入介面東西。ASP . NET Core 內底提供兩種相依照注入功能，一个是管線式相依照注入 ( ASP . NET Core 共號做 Framework-Provided Services )，另外一種是由系統註冊的依照注入，由開發人員利用 ASP . NET Core 提供的 IServiceCollection 介面內的方法註冊需要的介面佮服務，才由程式來取用。&lt;br /&gt;
&lt;br /&gt;
IServiceCollection 支援四種類型的服務相依照注入：&lt;br /&gt;
&lt;br /&gt;
一 . Transient : 逐改要求的時陣攏建立，無論講敢有仝一个範圍。&lt;br /&gt;
二 . Scoped : 只有佇一个要求範圍內底建立一改，佇彼時陣的範圍內底等於 Singleton。&lt;br /&gt;
三 . Singleton : 只會提供一个物件的執行個體，毋過生成是由系統做。&lt;br /&gt;
四 . Instance : 佇應用程式的性命週期內只會提供一个物件的執行個體，猶毋過生成是由開發人員負責。&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 嘛無限干焦會當用 ASP . NET Core 本身的相依注入功能，若是有佮意抑是慣勢用的相依注入元件 ( 如 Autofac、StructureMap 等 )，嘛會當用𪜶取代內底起的相依注入功能。&lt;br /&gt;
&lt;br /&gt;
===代管 ( Hosting ) 方式===&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 共咱奧援自我代管 ( Self-hosting ) 以及 Web Server 代管 ( Web Server-hosting ) 的功能，早期 ASP . NET Core 有延續以 IIS 為主要代管服務的設計 ( 彼陣的代號為 Helios )，但是到甲 ASP . NET Core Beta 八時，微軟宣佈欲以 Kestrel Server 為主要的代管侍服器，Kestrel Server 是以 libuv 為基礎開發的 Web Server 代管行程 ( Hosting Process )，藉由 libuv 的協助，Kestrel Server 會當迒平台，嘛會當適合 IIS，軟勢嘛為著 IIS 使用 Kestrel Server 咧發展矣 IIS Platform Handler，予 IIS 會當直接共 HTTP 的要求直接轉送予 Kestrel Server。&lt;br /&gt;
&lt;br /&gt;
自 ASP . NET Core 一垺零 . 零-rc 做伙的，代管方式已經回歸以 Kestrel Server 為主，原本的 IIS Platform Handler 嘛依照 ASP . NET Core 的特性改寫為 ASP . NET Core Module，如果要使用 IIS 架設 ASP . NET Core 應用程式，著愛使用此模組。&lt;br /&gt;
&lt;br /&gt;
==專案系統==&lt;br /&gt;
&lt;br /&gt;
佇咧 ASP . NET Core v 一丈零的時陣，ASP . NET Core 無閣用矣 . csproj 的專案管理方式，是改用以 kha-tá-lok-guh 為主的這个案管理，原本的 Web . config 無閣存在矣，取代之的是 project . json，以及作為組態設定的 appsettings . json 檔案，這兩个檔案攏是 JSON 格式。雖然講佇 Visual Studio 的 ASP . NET Core 的專案範本內底，Web . config 猶閣存在，但是伊的存在干焦為著欲踮 IIS 中附掛上 HTTP Platform Handler 爾爾。&lt;br /&gt;
&lt;br /&gt;
隨著 . NET Core v 一垺一回歸到講 MSBuild 的策略，ASP . NET Core v 做伙閣再倒轉來 . csproj 的專案管理方式，但是猶原保留 kha-tá-lok-guh 為主的專案管理做法。&lt;br /&gt;
&lt;br /&gt;
===v 一丈零的時陣===&lt;br /&gt;
&lt;br /&gt;
====project . json====&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core v 一丈空時期由 project . json 主掌專案的執行期的組態設定，包含專案的套件參考 ( Package References )、專案的基本設定、啟動指令、包括抑是排除指定 kha-tá-lok-guh、猶閣有建造時的相關事件指令等。&lt;br /&gt;
&lt;br /&gt;
下列 JSON 為 project . json 的範例：&lt;br /&gt;
&lt;br /&gt;
====appsettings . json====&lt;br /&gt;
&lt;br /&gt;
appsettings . json 是用來代替 Web . config 內的 &amp;lt; appSettings / &amp;gt; 佮 &amp;lt; connectionStrings / &amp;gt; 兩个開發人員上捷用的組態區段，其內容比如講下底 :&lt;br /&gt;
&lt;br /&gt;
猶毋過 appsettings . json 無成 project . json 是由 DNX 自動讀取，appsettings . json 抑是後續加入的組態檔攏是屬於功能之一，依照 ASP . NET Core 由程式碼決定功能的特性，開發人員需要加入下列程式才會當予 appsettings . json 生效。&lt;br /&gt;
&lt;br /&gt;
===v 一孵一个時期===&lt;br /&gt;
&lt;br /&gt;
隨著 . NET Core 一垺一回歸 MSBuild 建置系統管理後，ASP . NET Core 一扣一的套件管理嘛會當支援 IDE GUI 的圖形化介面參考管理功能。&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 一孵一的 Visual Studio 工具嘛另外加入去矣 Bower 套件的圖形化介面管理功能。&lt;br /&gt;
&lt;br /&gt;
==套件相依管理==&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 的套件相依管理 ( Package Dependency Management ) 由 project . json 負責，project . json 內的 dependencies 區段佮 frameworks 區段負責管理對套件的相依，以及對特定 Framework 版本內組件的相依。&lt;br /&gt;
&lt;br /&gt;
dependencies 內底的套件是以 &amp;quot; 套件代碼 &amp;quot; : &amp;quot; 版本 &amp;quot; 的格式設定，比如講 &amp;quot; Microsoft . AspNet . Mvc &amp;quot; : &amp;quot; 一垺零 . 零-rc 一-final &amp;quot; 表示參考 Microsoft . AspNet . Mvc 套領的 v 一垺零 . 零-rc 一-final 版本。套件佮版本的資訊是用 NuGet 所提供，佮往過就愛參考的方式加入去對特定組件的相依性有真大的無仝，這嘛是 . NET Core / ASP . NET Core 的特色之一，毋免閣去安裝大包的 . NET Framework，只要使用 DNU 的 restore 指令，就愛還原所參翕的相依套件。&lt;br /&gt;
&lt;br /&gt;
frameworks 是定義了特定系統環境內所相依的特定組件佮其版本，佇這个定義的組件就愛事先安裝佇電腦內才會當提用，佮 dependencies 會閣原套件無仝。開發人員會當予定一个字串來代表特定環境 ( 比如講 dnx 四十五表示 DNX on . NET 四配五、dnxcore 五表示 DNX on . NET Core 五 )，然後佇內底指定特定的組件佮其版本。&lt;br /&gt;
&lt;br /&gt;
自一孵零 . 零-rc 二起，DNX 的功能由 . NET Core CLI 取代，彼陣仔因此閣原套件的指令改做 dotnet restore。&lt;br /&gt;
&lt;br /&gt;
==組件==&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 以 . NET Core 的基礎發展，其目前的組件有：&lt;br /&gt;
&lt;br /&gt;
一 . ASP . NET Core MVC  : 目前欽定的 Web 應用程式開發框架。&lt;br /&gt;
二 . ASP . NET Core SignalR : 新一代的長時輪詢 ( Long-Time Polling ) 訊息通訊基礎建設，計畫佇咧 ASP . NET Core 一垺零 . 零釋出來才會繼續進行開發。&lt;br /&gt;
三 . Entity Framework Core : 後一代的 ADO . NET Entity Framework，採用 . NET Core 閣重新設計，為欽定的 ORM 資料的存取技術。&lt;br /&gt;
四 . Identity Core&lt;br /&gt;
五 . Razor Core&lt;br /&gt;
六 . Blazor&lt;br /&gt;
七 . Kestrel web server&lt;br /&gt;
&lt;br /&gt;
==開發工具==&lt;br /&gt;
&lt;br /&gt;
ASP . NET Core 的可用開發的工具有：&lt;br /&gt;
&lt;br /&gt;
* Visual Studio，內建有 ASP . NET Core 的彼个案本，嘛會當使用 IDE 的功能建造和部署應用程式 ( 比如講 Azure Web App 抑是講 ASP . NET Docker Image on Azure 等 )。&lt;br /&gt;
* Visual Studio Code，迒過平台的 Visual Studio 編輯器。&lt;br /&gt;
* Yeoman Generator for ASP . NET，提供予 Mac 佮 Linux 等作業系統，會當直接產生專案範本的工具。&lt;br /&gt;
* 只要是文字編輯器攏會當編修 project . json 佮程式碼檔案，毋過欲家己處理建造佮部署的細節。&lt;br /&gt;
&lt;br /&gt;
==版本的過程==&lt;br /&gt;
&lt;br /&gt;
==參考==&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>