Skip to content

MS_ASPNETCore

nishi_74322014 edited this page Aug 13, 2026 · 2 revisions

ASP.NET Core

概要

OSS のクロスプラットフォームな開発プラットフォーム

  • OWINの思想に近いミドルウエアによるリクエストパイプラインの採用
  • System.Web からの脱却、IIS以外の Web サーバーでも実行可能
  • パッケージ管理(依存関係の管理)で、必要なものだけをアプリに取り込める。
  • クロスプラットフォームでアプリの開発/実行が可能
  • ASP.NET Web APIASP.NET Web Pages
    ASP.NET MVC 6 に統合

補足(最新化:現在の姿): 上記は 1.0 前後の記述で、
その後も大きく変わっている。押さえておきたいのは次の点。

項目 現在
Web サーバー Kestrel が既定。IIS / Nginx はリバース プロキシとして前段に置く(IIS 統合ASP.NET Core Module
起動コード Startup.cs は廃れ、Program.cs の最小 API 形式WebApplication.CreateBuilder)に一本化
API の書き方 Controller に加えて Minimal APIapp.MapGet(...))が追加
配布 自己完結型発行 / AOT コンパイル(.NET 8 以降)に対応
LTS 偶数バージョンが LTS(3 年)、奇数が STS(18 か月)

バージョンごとにサポート期限がある点は .NET Framework と大きく違う。
「入れたら放置」ができないため、更改計画が前提になる。

変遷

OWIN / Katana Project(OWIN)からの流れを汲む。

名称

OWIN / Katana Project → ASP.NET vNext(OWIN)→ ASP.NET 5 → ASP.NET Core

と、名称が、過去 2・3 回に渡って、変更されている。

# ランタイム MVC Entity Framework
1 OWIN / Katana Project
2 ASP.NET vNext
3 ASP.NET 5 MVC 6 EF 7
4 ASP.NET Core 1.0 Core MVC 1.0 EF Core 1.0

補足(改名の理由): 「ASP.NET 5」から「ASP.NET Core 1.0」への改名は、
バージョン番号が誤解を生んだためである。

  • ASP.NET 4.6(.NET Framework)より新しい「5」に見えるが、
    実際は別物で機能は少ない(アップグレードではない)
  • EF 7 も同様に、EF 6 の後継と誤解された

そこで「Core」を付けて系統が違うことを明示し、
バージョンも 1.0 に戻した、という経緯。
同じ理由で、後に **.NET Core 3.1 の次を「.NET 5」**とし、
「.NET Framework 4.x との混同を避けるため 4 を飛ばした」。

参考

以下が参考になります。

次のステップ

開発 - デプロイ

  • 開発(ASP.NET Coreの開発: MS_ASPNETCoreDevelopment.md
  • デプロイ(ASP.NET Coreのデプロイ: MS_ASPNETCoreDeployment.md
  • dotnetコマンド(MS_DotNetCommand.md

フレームワーク

サービス

  • Session(ASP.NET CoreのSession利用方法: MS_ASPNETCoreSession.md
  • JavaScript Services(MS_JavaScriptServices.md
    • Spa Services / Node Services

補足(最新化): Microsoft.AspNetCore.SpaServices(Node Services 含む)は
.NET 6 以降で非推奨
現在は Microsoft.AspNetCore.SpaProxy(開発時のプロキシ)と、
フロント側の Vite などによるビルドに置き換わっている
ASP.NET SPAを参照)。

インフラストラクチャ

  • ASP.NET CoreのWebサーバ(MS_ASPNETCoreWebServer.md
  • ASP.NET Coreのデータ保護(MS_ASPNETCoreDataProtection.md

補足: **データ保護(Data Protection API)**は、
.NET Framework の machineKey に相当する仕組み。
Cookie 認証チケット・アンチフォージェリ トークン・TempData 等の
暗号化に使われる。

既定では鍵がローカルに保存されるため、
Web ファーム / コンテナでは共有ストアの設定が必須である。
忘れると「たまにログアウトする」「再デプロイで全員ログアウト」になる
ASP.NET でSessionCookie、Cookie認証Ticketを共有する方法
ASP.NET Core における 認証を参照)。

参考

MSDN magazine

ASP.NET

ASP.NET Core

Cutting Edge

  • ASP.NET 開発者向けの ASP.NET Core
  • ASP.NET Core でのポリシーベースの承認
  • Cookies, Claims and Authentication in ASP.NET Core
  • ASP.NET Core アプリケーションの構成
  • MVC 関連(ASP.NET Core MVC

その他

ASP.NET 5

ASP.NET Core


Tags: 移行, .NET開発, .NET Core, ASP.NET, ASP.NET MVC

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally