Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
.NET 10のASP. NET Core注目の新機能
Search
tomokusaba
November 20, 2025
Technology
0
200
.NET 10のASP. NET Core注目の新機能
.NET 10のASP. NET Core注目の新機能
【大阪出張編】.NETラボ 勉強会 2025年11月
https://dotnetlab.connpass.com/event/364122/
tomokusaba
November 20, 2025
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
コンピューティングリソース何を使えばいいの?
tomokusaba
1
33
Microsoft Agent Frameworkの可観測性
tomokusaba
1
130
.NET 10の概要
tomokusaba
0
140
.NET 10のASP.NET Coreの気になる新機能
tomokusaba
0
130
コンピューティングリソース何を使えばいいの?
tomokusaba
1
220
技書博で見つけた本
tomokusaba
0
79
新卒2年目でドロップアウトしてからの20年間
tomokusaba
0
130
Azure Well-Architected Framework入門
tomokusaba
1
270
Microsoft Playwright Testing廃止!
tomokusaba
0
87
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
0
110
みんなでAI上手ピーポーになろう! / Let’s All Get AI-Savvy!
kaminashi
0
170
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.3k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
64k
漸進的過負荷の原則
sansantech
PRO
1
160
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
690
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
エンジニアとして長く走るために気づいた2つのこと_大賀愛一郎
nanaism
0
210
ReproでのicebergのStreaming Writeの検証と実運用にむけた取り組み
joker1007
0
340
ドメイン駆動セキュリティへの道しるべ
pandayumi
0
160
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
2
230
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
890
AI: The stuff that nobody shows you
jnunemaker
PRO
2
190
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
How to Ace a Technical Interview
jacobian
281
24k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
51
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Raft: Consensus for Rubyists
vanstee
141
7.3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
49k
Transcript
.NET 10のASP. NET Core 注目の新機能 FutureOne株式会社 草場 友光 .NETラボ勉強会2025年11月
自己紹介 • コミュニティ活動を通じて知識を アップデートしています。 • 2022/08-2026 Microsoft MVP (Developer Technologies)
• tomo_kusaba • ドラクエ大好き ドラクエ10のプレイ時間→ 1キャラ目:2642時間 2キャラ目:914時間 3キャラ目:789時間 4キャラ目:190時間(配信用)
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。
今日の目的 • とうとう、.NET10がGAになりました。 • そこで、ASP.NET Coreに着目して特に注目したい新機能に 絞って解説します。
パスキーのサポート • .NET 10の認証付きBlazor Web Appテンプレートにパスキー のサポートが含まれている • EntityFrameworkCoreの一般的な操作に従ってSQL Serverなどにテーブルを作成してデプロイすることによって動
作を確認できる。
デモ おしまい
ちなみにデモ環境 • Windows Sever 2016上のIIS • 静岡の実家においてあるMS-01のWindows Server2025上 のHyper-Vにて稼働
パスキーログイン
パスキーログイン
パスキーログイン
パスキーログイン
モデル検証の改善 • 入れ子になったオブジェクトとコレクション項目のプロパティの検証の サポート • .NET 9までは実験用のパッケージ Microsoft.AspNetCore.Components.DataAnnotations.Validatio nを使用していた <EditForm
...> <ObjectGraphDataAnnotationsValidator /> ... </EditForm> using System; using System.ComponentModel.DataAnnotations; public class Starship { ... [ValidateComplexType] public ShipDescription ShipDescription { get; set; } = new(); ... }
モデル検証の改善 • 新しい検証機能をオプトインするには: • サービスが登録されているAddValidation ファイルで、 Program拡張メソッドを呼び出します。 • Razor コンポーネント
(.razor) ではなく、C# クラス ファイル でフォーム モデル型を宣言します。 • [ValidatableType]属性を使用して、ルート フォーム モデルの 種類に注釈を付けます。 • 前の手順に従わないと、検証動作は以前の .NET リリースと同じ ままです。
モデル検証の改善 • 入れ子になったオブジェクトとコレクション項目のプロパティの検 証のサポート • .NET 9までは実験用のパッケージ ObjectGraphDataAnnotationsValidatorを使用していた <EditForm Model=“Model”>
<ObjectGraphDataAnnotationsValidator /> ... </EditForm> @code{ public Starship Model { get; set; } protected override void onInialized() => Model ??= new(); } … Builder.Services.AddValidation(); … Program.cs
モデル検証の改善 using System; using System.ComponentModel.DataAnnotations; [ValidataleType] public class Starship {
... public ShipDescription ShipDescription { get; set; } = new(); ... }
デモ おしまい
デモ(必須入力)
デモ(文字数超過)
デモ おしまい
MinimalAPIでのモデル検証のサポート • モデルの作り方はBlazorのモデルと共通! • Program.csも共通!
デモ(GET)
デモ(POST)
デモ(400)
デモ(400)
Blazor Web Appsの回線状態の永続化 サーバー側のレンダリング中、 Blazor Web Appは、ページ全体の更 新がトリガーされない限り、サーバーへの接続が長時間失われたり、プロ アクティブに一時停止されたりしたときに、ユーザーのセッション (回線)
状態を保持できます。 これにより、ユーザーは次のシナリオで保存され ていない作業を失うことなくセッションを再開できます。 • ブラウザー タブの調整 • モバイル デバイス ユーザーによるアプリの切り替え • ネットワークの中断 • プロアクティブ リソース管理 (非アクティブな回線の一時停止) • 拡張ナビゲーション
デモ(カウンターパターン①) オフラインに設定 オフライン状態で3回ク リック後にオンラインに戻 す カウンターが6に
デモ(カウンターパターン①) オフラインに設定 オフライン状態になってリ コネクションが走る そのままオンライン状態に 戻すと3の状態に戻る
Blazor Web Appの認証サンプル • OIDCを使用したBlazor Web App • Microsoft Entra
IDを使用したBlazor Web App • Windows認証を使用したBlazor Web App
Blazor Web AppのEntra IDのテンプ レの今 • https://github.com/dotnet/aspnetcore/issues/512 02 • ざっくり言うと、.NET
11以降 • これまで夏ごろまで.NET 10のマイルストーンが置かれていた状 況だったが、解決の糸口が見えず先送りとなった。 • .NET 9 → .NET 10 → .NET 11??
宣伝 おしまい
Microsoft MVPを語るバー(11/23)
AOAI Dev Day Osaka(12/5)
.NET Conf 2025 Tokyo Osaka Fukuoka
.NETラボ1月(1/24)
おしまい おしまい