Start Debugging

タグ: dotnet-11

248 件 · ページ3/25

EF Core 11 のマイグレーションでデータを失わずにテーブル名を変更する方法
テーブル名を変更した場合、EF Core は RenameTable を生成しますが、エンティティクラスの名前を変更した場合は DropTable と CreateTable を生成します。この2つを見分ける方法、クラス名変更のコストをゼロにする ToTable のテクニック、そしてデータを黙って入れ替えてしまう列名変更のバグを解説します。
.NET 11 で `dotnet run app.cs` を使ってファイルベース C# アプリを実行する方法
ファイルベース C# アプリの完全ガイド。dotnet run による単一 .cs ファイルの実行、#:package、#:sdk、#:property、#:project、#:include の各ディレクティブ、#:ref による複数ファイル構成のスクリプト、引数と stdin の扱い、ビルドキャッシュ、native AOT での発行、dotnet ツールとしてのパッケージ化、そしてスクリプトが手狭になったときの dotnet project convert を解説します。
.NET 11 のサービス間呼び出しにおける gRPC vs REST vs SignalR
.NET 11 の内部サービス間呼び出しでは、契約の両端を自分たちで所有していて呼び出しがポイントツーポイントであれば、既定で gRPC を選んでください。自分たちが管理していないものがそのサービスを呼び出す必要が出た時点で、JSON を使う REST に切り替えます。SignalR はサービス間の RPC トランスポートではありません。1 つの生産者が多数の長寿命な消費者へメッセージを配信する必要がある場合にのみ使ってください。
解決: IIS へのデプロイ後に発生する HTTP Error 500.30 - ASP.NET Core app failed to start
500.30 は、アプリが w3wp.exe の中で起動中に例外をスローしたという意味です。実際の例外は Windows のアプリケーション イベント ログに IIS AspNetCore Module V2 として既に記録されています。まずそれを読み、次に原因を順に絞り込みます。共有フレームワークの未インストール、アプリケーション プールの x86/x64 不一致、構成の欠落、プールの権限です。
EF Core 11 で rowversion トークンを使って楽観的同時実行制御を実装する方法
EF Core 11 に rowversion の同時実行トークンを追加します。[Timestamp] と IsRowVersion による設定、EF が実際に発行する SQL、DbUpdateConcurrencyException の捕捉、データベース優先 vs クライアント優先 vs マージ、ETag を使った切断された API、そして保護を無言で無効化する 5 つの落とし穴。
.NET 11 で IValidateOptions<T> を使って起動時にオプションを検証する方法
IValidateOptions<T> を実装し、DI に登録して ValidateOnStart をチェーンすれば、不正な appsettings.json は最初にそれに触れたリクエストではなくプロセスそのものを落とします。.NET 11 の Validate<TValidator>() オーバーロード、IAsyncValidateOptions<T> による非同期検証、そして ValidateOnStart が黙って何もしない 3 つのケースを解説します。
前へ 次へ