ABPフレームワークの主要機能とサービスの実践

現在ユーザー情報の取得 認証が必要な機能では現在ユーザー情報の取得が不可欠です。ABPはICurrentUserサービスを提供し、ASP.NET Coreと完全統合されています。 using Volo.Abp.Users; using Volo.Abp.DependencyInjection; namespace ServiceModule { public class UserDataService : ITransientDependency { private readonly ICurrentUser _current ...

7月31日 01:49 投稿

ASP.NET Core 開発における実用的な設定とTips集

複数データベース接続の登録 services.AddDbContextPool または services.AddDbContext を必要な分だけ追加することで、複数のDBコンテキストをDIコンテナに登録できます。 MySQL対応のためのEF Core拡張 Microsoft公式にはUseMySqlは存在しないため、Pomelo.EntityFrameworkCore.MySqlパッケージを導入して利用します。このメソッドはコミュニティ製ライブラリによって提 ...

7月22日 18:42 投稿

C#/.Net CoreとGit、Dockerを使ったプロジェクトのデプロイ

この記事では、Ubuntu環境でC#のWeb APIプロジェクトをGitとDockerを使ってデプロイする手順を解説します。Flexus Xインスタンスを利用して、コードのバージョン管理とコンテナ化デプロイメントを行います。 環境準備 サーバーの設定 Flexus Xインスタンスを選択し、4vCPUsと12GiBのRAMを使用しました。OSは最新版のUbuntuを選択しました。 Xshellを使用して、サーバーの ...

7月22日 03:11 投稿

ASP.NET Coreで動的Web APIを自動生成する高度なテクニック

序文 動的Web API(Dynamic Web API)という言葉に触れたのは数年前のことです。当時、ABPフレームワークでこの技術に興味を持ち、ABPのコードを分析し、独立したコンポーネントとして利用する試みもしましたが、ABPへの依存が多すぎたため断念しました。十数日前、友人の熊猫氏がこのコードをABPから正常に分離し、シンプルなデモを作成してくれました。長い間(本当に怠 ...

7月19日 18:04 投稿

.NET Core で EPPlus を使用して Excel ファイルを API から出力し、日本語ヘッダーを設定する方法

EPPlus は Microsoft Office の依存なしに Excel ファイルを操作できる強力なライブラリであり、.NET Core 環境でも広く利用されています。 まず、NuGet から EPPlus.Core(例:バージョン 1.5.4)をインストールします。 以下は、任意のデータリストを Excel に変換し、カスタムヘッダー(英語フィールド名 → 日本語表示)を適用して MemoryStream として返す汎用ヘルパ ...

7月19日 03:27 投稿

JWT認証の実装: .NET Coreでのトークン発行と検証

必要なパッケージ Microsoft.AspNetCore.Authentication.JwtBearerSystem.IdentityModel.Tokens.Jwt トークンハンドラークラス public static class TokenManager { public static string GenerateToken(UserTokenInfo payload) { var config = Configuration.GetSection("SecuritySettings"); var issuer = config["Issuer"]; var au ...

7月18日 20:18 投稿

gRPCの続き

3つのプロジェクト:GrpcClient、GrpcService、Proto GrpcClient クライアント GrpcService gRPCサービスホスティング Proto gRPC定義ファイル Protoプロジェクトに新しいテキストファイル「user.proto」を作成し、そのプロパティでNuGet参照を追加して「Grpc.AspNetCore」パッケージをインストールします。 ファイルの内容は以下の通りです: syntax = "proto3" ...

7月12日 21:38 投稿

API アプリケーションにおけるパラメーターバインディング

リクエストデータをルートハンドラで表現される強型パラメーターに変換するプロセスをバインディングと言います。 バインドソースは、どの場所からパラメーターをバインドするかを決定します。 このソースは明示的に指定されたり、HTTPメソッドやパラメーターのタイプに基づいて推測されたりします。 バインド優先順位 以下は、パラメーターからバインドソースを決定する ...

7月11日 21:21 投稿

ASP.NET Coreでのカスタムエラーページ実装

はじめに ウェブ上では壊れたリンクが数多く存在し、動作するページへのリダイレクトがない場合、ユーザーは非常に苛立たしく感じるでしょう。しかし、現実としてエラーは避けられません。ユーザーの誤った入力やコードのバグによって発生するエラーは、どうしても避けることができません。 本記事では、ASP.NET Core Webアプリケーションでカスタムエラーページを設定する ...

7月9日 18:59 投稿

ASP.NET Coreにおけるパイプラインとミドルウェアの基本

パイプラインの流れ パイプラインは一つ以上のミドルウェアから構成され、各ミドルウェアの役割はHttpContextを基にHTTPリクエストを処理し、Responseに必要な情報を設定し、最終的なレスポンス出力を完了させることです。パイプラインの流れメカニズムを理解することで、パイプラインを利用したインターセプターやカスタムミドルウェアの実装など、高度な操作が可能にな ...

7月6日 22:12 投稿