フロントと API を分けた瞬間に出やすいのが CORS エラー。ブラウザのコンソールには出るが、サーバログには何も残らないことが多く、初見だと迷いやすい。 この記事では、原因の型とASP.NET Core での設定をざ ...
続きを読むEF Core で SaveChanges / SaveChangesAsync したときに出る DbUpdateException。内側を見ないと原因が分からないことが多い。 この記事では、よくある中身と切り分け手順を ...
続きを読むCursor の Agent に「このリポジトリではこう動いてほしい」を伝える一番手軽な手段が AGENTS.md。プレーンな Markdown なのでチームでも読みやすい。 この記事では、書き方のベストプラクティスと、 ...
続きを読むASP.NET Core の DI(Dependency Injection)で Singleton / Scoped / Transient を選ぶとき、「いつ作られて、いつ破棄されるか」がわからないとハマりやすい。 ...
続きを読むASP.NET Core / .NET の DI でよく出る Unable to resolve service for type 'XXX' while attempting to activate 'YYY'。登録漏 ...
続きを読むC# で new HttpClient() をリクエストごとに new / Dispose すると、しばらくして ソケット枯渇・断続的タイムアウト・SocketException が出ることがある。 この記事ではなぜ起き ...
続きを読むHttpRequestException は HTTP 呼び出し全般の失敗を包むことが多い。ネットワーク失敗も、状況によってはステータス付きも、内側に別例外がある。 先に結論 切り分けチェックリスト コード上の定石 us ...
続きを読むIHttpClientFactory は HttpClient の寿命・ハンドラ再利用を枠組みで管理する仕組み。都度 new によるソケット枯渇を避けつつ、名前付きクライアントで Timeout などを揃える。 先に結論 ...
続きを読むConfigureAwait(false) は「続きを元の同期コンテキストに戻さない」指定。ライブラリや ASP.NET Core の扱いが混同されやすいので、場面で分ける。 先に結論 必要な場面 不要な場面 // ライ ...
続きを読むコントローラもアクションもあるのに 404。ルーティング・属性・エンドポイント登録のどれかが外れていることが多い。 先に結論 チェックリスト よくある原因 確認のコツ 関連: DI Unable to resolve s ...
続きを読む