C#

システム開発

C# MVCでサーバ内画像を表示する設計

「ユーザがサーバ上の指定フォルダに画像を配置し、業務データと紐づけて Web 画面で表示する」――この構成は、社内システムや BtoB 向け Web アプリでは非常によく見られます。一方で、実装段階になると次のような疑問に必ず直面します。 ...
システム開発

C# MVCのSessionが使うメモリ量を可視化する調査手順

C# MVCアプリで何気なく使っている Session.Add()。しかしその裏では、Sessionのモード設定によって「保存場所」「消費されるリソース」「障害の出方」が大きく変わります。特に InProc の場合、Sessionは IIS...
システム開発

LINQのTakeWhileと類似メソッドの違いを整理する

LINQ の TakeWhile は、「条件が成立している間だけ処理を続ける」という特徴を持つ便利なメソッドです。しかし、Take や Where、SkipWhile など似た用途に見えるメソッドも多く、感覚的に使い分けてしまっているケース...
システム開発

C# using文によるリソース管理の要点

ファイル操作やデータベース接続、HTTP通信などを実装していると、「Disposeを書き忘れていた」「なぜかファイルがロックされたままになる」といった経験はないでしょうか。C#のusing文は、そうしたリソース解放のミスを防ぐための言語機能...
システム開発

C#における ref と out の違いを整理する

C#でメソッド設計をしていると、「値を参照渡ししたいだけなのに、ref と out のどちらを使うべきか迷う」という場面に遭遇することがあります。どちらも参照渡しを行うキーワードですが、設計意図・責任の所在・APIの読みやすさという観点では...
システム開発

別スレッド処理中にForm描画を安全に更新する設計

バックグラウンド処理の進捗やログをリアルタイムにFormへ表示したい——そんな要件に直面したことはありませんか?Windows FormsやWPFなどのGUIアプリケーションでは、別スレッドから直接UIを更新できないという制約があり、設計を...
システム開発

C#でセッション情報をDB管理する方法と設計ポイント

Webアプリケーションのセッション管理は、規模が小さいうちはあまり意識されません。しかし、可用性やスケーラビリティが求められるシステムでは、セッション管理の設計がアーキテクチャ全体の品質を大きく左右します。本記事では、C#(ASP.NET系...
システム開発

ASP.NETのURLルーティングを理解する:System.Web.Routingの基本

ASP.NETアプリケーションにおいて、URL設計はユーザー体験(UX)やSEOに直結する重要な要素です。その中核を担う仕組みが「ルーティング」です。本記事では、.NET Framework 環境で利用される System.Web.Rout...
システム開発

C#環境でのセッションメモリ使用量の可視化手法

ASP.NET Core で Web アプリケーションを開発していると、次のような疑問や不安を感じることは少なくありません。 セッションにどの程度のデータを入れてよいのか分からない Redis のメモリ使用量が増えているが、原因が特定できな...
システム開発

C#で実践!パフォーマンスと設計を両立する Lazy 活用術

アプリケーション設計において、「パフォーマンス」と「保守性」を同時に満たすのは簡単ではありません。特に、初期化コストの高い依存オブジェクトをいつ・どのタイミングで生成するかは、多くのプロジェクトで見落とされがちな設計課題です。この記事では、...