• システム開発に関わる内容をざっくりと書いていく

ASP.NET Core

ASP.NET Core モデルバインディング失敗(400)の見方

アクションに入る前に 400 になる典型がモデルバインディング/バリデーション失敗。[ApiController] だと自動で ProblemDetails っぽい応答になりやすい。 先に結論 切り分け手順 よくある原因 ...

続きを読む

ASP.NET Core ProblemDetails でエラーレスポンスを揃える

API のエラー形式がエンドポイントごとに違うとクライアントが辛い。ProblemDetails(RFC 7807 系)で type / title / status / detail を揃えるのが定石。 先に結論 揃え ...

続きを読む

JWT 認証 401 / 403 の切り分け(ASP.NET Core)

JWT 利用時の 401 と 403 は意味が違う。401 は「認証できていない」、403 は「認証はできたが許可されていない」が基本。 先に結論 401 のチェック 403 のチェック ログで見ると早い点 builde ...

続きを読む

IIS / Kestrel 502 / 503 のざっくり切り分け

ASP.NET Core を IIS の裏で動かしていると、502.3 や 503 が突然出ることがある。アプリ例外というより「ゲートウェイ/プロセス側」の失敗であることが多い。 先に結論 502 のよくある型 503 ...

続きを読む

EF Core で発行SQLを確認する方法

EF Core 利用中に「どんな文が飛んでいるか」が見えないと、N+1 や想定外の結合に気づけない。ログ/インターセプタ/デバッガ出力など、環境に合わせた確認手段を持っておく。 先に結論 よく使う手段 見るときのポイント ...

続きを読む

EF Core N+1 の見つけ方と対策

一覧画面が遅い、ログに同じような照会が何百回も出る——典型が N+1。親を1回取ったあと、関連を行ごとに追加で取りに行くパターンだ。EF Core では Include 忘れや遅延ロード、ループ内の別クエリが原因になりや ...

続きを読む

EF Core マイグレーション失敗時の切り分け

dotnet ef database update が落ちる、起動時に自動適用が例外で止まる——マイグレーション失敗は「モデル差分」「履歴表」「既に存在するオブジェクト」が絡みやすい。慌てて手動でオブジェクトをいじる前に ...

続きを読む

接続文字列 TrustServerCertificate でハマるポイント

SQL Server へ接続するとき、証明書エラーで止まって TrustServerCertificate=True を付けたくなる場面がある。開発では楽だが、意味を理解せず本番に持ち込むと「暗号化しているつもりが検証し ...

続きを読む

C# HttpClient タイムアウト設定方法

HttpClient で外部 API を叩いていると、「たまに固まる」「タイムアウトで落ちる」が起きやすい。設定箇所が複数あるので、逆引きできるように整理する。 この記事では、どこにタイムアウトがあるかと現場での決め方を ...

続きを読む

【C#】WebApplicationFactoryでケースごとに個別にモックを適用した結合テストの実装

C# の xUnit を使用し、WebApplicationFactory を活用して 個別ケースごとに異なるモックを適用 する結合テストの実装方法を解説。 本記事のポイント WebApplicationFactory ...

続きを読む