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 投稿