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
14
.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
170
技書博で見つけた本
tomokusaba
0
60
新卒2年目でドロップアウトしてからの20年間
tomokusaba
0
98
Azure Well-Architected Framework入門
tomokusaba
1
230
Microsoft Playwright Testing廃止!
tomokusaba
0
68
Azure Well-Architected Framework入門
tomokusaba
1
420
WebアプリケーションのUI構築で気を付けてるポイント
tomokusaba
0
280
Azure Cloud Adoption Framework(計画編)
tomokusaba
1
110
速報Visual Studio 2026(Insiders)
tomokusaba
0
130
Other Decks in Technology
See All in Technology
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
170
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
150
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
990
Lazy Constant - finalフィールドの遅延初期化
skrb
0
240
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
470
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
150
第65回コンピュータビジョン勉強会
tsukamotokenji
0
150
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.5k
re:Invent2025 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
170
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
2
210
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
480
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.2k
Site-Speed That Sticks
csswizardry
13
970
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
GraphQLとの向き合い方2022年版
quramy
49
14k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Become a Pro
speakerdeck
PRO
29
5.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Thoughts on Productivity
jonyablonski
73
4.9k
A designer walks into a library…
pauljervisheath
210
24k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
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)
おしまい おしまい