C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C# ASP.NET Coreで使われる主要なJSONファイルの種類と役割を徹底解説

    ASP.NET Coreは、従来のASP.NETからアーキテクチャが全面的に見直されたフレームワークです。旧バージョンのASP.NETでは、System.Configurationやweb.configファイル内のXML構成に依存していましたが、ASP.NET Coreでは、ソリューション全体の設定、プロジェクト固有の設定、クライアント固有の設定などを宣言・アクセスするための、よりシンプルで柔軟な新しい構成モデルが採用されています。 この新しい構成モデルは、XML・INI・JSONなど複数のファイル形式に対応しており、その中でも特に中心的な役割を担うのがJSONファイルです。本記事では、ASP

  2. C# ASP.NET Coreでコントローラーにサービスの依存関係を注入する方法

    ASP.NET Coreでは、組み込みのIoC(Inversion of Control)コンテナを使用して、コンストラクタやメソッドを通じて依存クラスのオブジェクトを自動的に注入できます。 組み込みコンテナはIServiceProviderの実装として提供されており、デフォルトでコンストラクタインジェクションをサポートしています。また、このIoCコンテナによって管理される型(クラス)は「サービス」と呼ばれます。 IoCコンテナにアプリケーションのサービスを自動的に注入してもらうためには、まず対象となるサービスをコンテナに登録する必要があります。 サンプル:サービスの定義 まず、インターフ

  3. C# ASP.NET CoreでDIコンテナに登録したサービスのライフタイム(生存期間)を指定する方法

    ASP.NET Coreに組み込まれているIoCコンテナ(依存性注入コンテナ)は、登録されたサービスタイプのライフタイム(生存期間)を自動的に管理します。開発者が指定したライフタイムに基づいて、サービスのインスタンスが適切なタイミングで自動的に破棄されるため、リソース管理の手間を大幅に軽減できます。組み込みのIoCコンテナでは、次の3種類のライフタイムがサポートされています。3種類のライフタイムSingleton(シングルトン)IoCコンテナは、アプリケーションの起動から終了までの全期間を通じて、サービスの単一のインスタンスを作成し、それを共有します。すべてのリクエストやクラスで同じインスタン

  4. C# ASP.NET CoreミドルウェアとHttpModuleの違いを徹底解説

    ASP.NET Coreへの移行を検討する際、多くの開発者が疑問に抱くのが「従来のHttpModuleとミドルウェア(Middleware)は何が違うのか」という点です。本記事では、両者の構成方法や実行順序の制御性、ホストへの依存度などの違いをわかりやすく比較し、あわせてカスタムミドルウェアの実装例もご紹介します。 HttpModuleの特徴 HttpModuleは、web.configまたはglobal.asaxを使って構成されます。この方式には以下のような制約があります。 開発者がモジュールの実行順序を直接制御できない モジュールの順序は主にアプリケーションのライフサイクルイベントに基づ

  5. Kestrelとは何か?ASP.NET CoreのクロスプラットフォームWebサーバーを徹底解説

    KestrelとはKestrelは、ASP.NET Core向けのクロスプラットフォームWebサーバーです。.NET Coreがサポートしているすべてのプラットフォームとバージョンで動作するため、Windows、Linux、macOSなど幅広い環境で利用できます。Kestrelは、ASP.NET Coreに内部サーバーとしてデフォルトで組み込まれています。単体でエッジサーバーとして使用することも可能で、これはつまり、クライアントから送られてくるHTTPリクエストを直接処理するインターネット接続型のWebサーバーとして機能するということです。なお、Kestrelでアプリケーションをホストする際に

  6. C# ASP.NET CoreにおけるIWebHostEnvironmentインターフェースの役割と使い方

    IWebHostEnvironmentは、ASP.NET Coreアプリケーションが現在実行されているWebホスティング環境に関する情報を提供するインターフェースです。実行中のアプリケーションのルートパスや静的コンテンツの配置場所などを取得でき、環境ごとの処理の分岐にも活用されます。このインターフェースは、Microsoft.AspNetCore.Hosting名前空間に属しています。IWebHostEnvironmentを使用するには、コントローラーのコンストラクターに対して依存性注入(DI)を行い、以降は注入されたインスタンスを通じて各種情報にアクセスします。主なプロパティIWebHost

  7. ASP.NET CoreにおけるUseIISIntegrationとは?Kestrelとの関係を解説

    WebHostとWebHostBuilderの基本すべてのASP.NET Coreアプリケーションには、アプリケーションとWebサーバーの中核となる「WebHost」オブジェクトが必要です。このWebHostは、WebHostBuilderを使って構成・生成されます。通常、セットアップコードにはUseKestrel()とUseIISIntegration()という2つのメソッドが登場します。それぞれのメソッドの役割UseKestrel()UseKestrel()は、Kestrelをアプリケーションをホストするサーバーとして登録するためのメソッドです。内部的には、IServerインターフェースに

  8. C# ASP.NET CoreプロジェクトにおけるProgram.csファイルの目的とは?

    Program.csファイルの役割ASP.NET CoreのWebアプリケーションは、実際にはコンソールプロジェクトです。アプリケーションの実行は、Programクラス内のエントリポイントである public static void Main() メソッドから開始され、ここでWebアプリケーション用のホストを作成します。public class Program{    public static void Main(string[] args){        BuildWe

  9. C# ASP.NET Coreのメタパッケージとは何か?役割と依存関係を徹底解説

    Microsoft.AspNetCoreパッケージの概要多くのASP.NET Coreプロジェクトテンプレートに標準で追加されているパッケージの一つが、Microsoft.AspNetCoreパッケージです。新しいASP.NET Coreプロジェクトを作成すると、このパッケージは通常のプロジェクト依存関係として自動的に含まれます。基本的なASP.NET Coreアプリケーションを立ち上げるために必要な、数多くの重要なパッケージをまとめて提供してくれるのです。メタパッケージ(Metapackage)とは何か興味深い点として、このパッケージ自体には実際のDLLファイルやコードは一切含まれていません

  10. C# ASP.NET Coreのカスタムミドルウェアでエラー(例外)を処理する方法

    はじめにASP.NET Coreアプリケーションでは、例外処理を一元管理するためにカスタムミドルウェアを活用するのが効果的です。本記事では、独自の例外処理ミドルウェア「ExceptionMiddleware」を実装し、発生した例外をキャッチして統一されたJSON形式のエラーレスポンスを返す方法を解説します。1. カスタム例外ミドルウェアの作成まず、「CustomExceptionMiddleware」という名前の新しいフォルダを作成し、その中に「ExceptionMiddleware.cs」クラスを作成します。依存性注入によるサービスの登録最初に行うべきは、ILoggerManagerサービス

  11. 【C# / ASP.NET Core】AddSingleton・AddScoped・AddTransientの違いを徹底解説

    ASP.NET Coreでは、Startup.cs(.NET 6以降ではProgram.cs)に依存関係(DIサービス)を登録する方法が3つあります。それが「AddSingleton」「AddScoped」「AddTransient」です。 これらはいずれも依存性注入(Dependency Injection)のためのメソッドですが、インスタンスの生存期間(ライフタイム)がそれぞれ異なります。適切に使い分けることで、アプリケーションのパフォーマンスや安定性に大きな影響を与えます。 AddSingleton(シングルトン)とは 型をシングルトンとして登録すると、アプリケーション全体でただ1つ

  12. 【C#】foreachループを使わずにリストを別のリストへコピーする3つの方法

    List<T>とはList<T>は、インデックスでアクセスできる強く型付けされたオブジェクトのコレクションです。並べ替え(ソート)、検索、要素の変更などを行うためのメソッドが用意されており、System.Collections.Generic名前空間に属しています。List<T>は、非ジェネリックなArrayListのジェネリック版に相当し、IList<T>インターフェイスを実装しています。主な特徴は以下のとおりです。指定した型の要素のみを格納でき、コンパイル時の型チェックが行われるジェネリックであるため、ボックス化・ボックス化解除のオーバーヘッ

  13. C#の列挙型(enum)で定義された項目の総数を取得する方法

    C#の列挙型(enum)とは列挙型(enum)は、定数(変更不可・読み取り専用の変数)のグループを表す特別な「クラス」です。列挙型を作成するには、classやinterfaceの代わりにenumキーワードを使用し、各項目をカンマで区切って定義します。列挙型の基本ルールデフォルトでは、最初の項目の値は0、2番目の項目は1、というように順番に整数値が割り当てられます。項目から整数値を取得するには、明示的にint型へキャスト(変換)する必要があります。独自の値を項目に割り当てることも可能で、その後の項目には続く番号が自動的に更新されます。列挙型はswitch文で対応する値を判定する処理によく利用され

  14. C#でCPUコアの数を取得する方法を徹底解説

    C#でCPUに関する情報を取得する場合、実は複数の種類の情報が存在します。取得できる主な情報は以下の3つです。物理プロセッサ(CPUソケット)の数コアの数論理プロセッサの数これらは必ずしも同じ値になるとは限りません。例えば、ハイパースレッディング対応のデュアルコアCPUを2基搭載したマシンの場合、物理プロセッサは「2」、コア数は「4」、論理プロセッサ数は「8」となります。論理プロセッサの数はEnvironmentクラスから簡単に取得できますが、物理プロセッサ数やコア数についてはWMI(Windows Management Instrumentation)を使う必要があります。なお、システムによ

  15. C#でスレッドIDを取得する方法|CurrentThreadとManagedThreadIdの使い方

    スレッドとは、プログラムの実行経路(パス)として定義されるものです。各スレッドはそれぞれ固有の制御フローを持ちます。アプリケーションに複雑で時間のかかる処理が含まれる場合は、複数の実行パス(スレッド)を用意し、各スレッドが特定の作業を担当するように設計すると、多くの場面で有効です。スレッドは「軽量プロセス」とも呼ばれます。スレッドの代表的な活用例としては、現代のオペレーティングシステムにおける並行プログラミングの実装が挙げられます。スレッドを適切に利用することで、CPUサイクルの無駄を削減し、アプリケーション全体の効率を高めることができます。C#におけるスレッドの扱い方C#では、System.

  16. C#でCSVファイルを読み込んで配列に格納する方法

    CSVファイルとは、カンマ(Comma-Separated Values)でデータを区切って保存するテキストファイル形式です。データを表形式で整理して格納できるため、多くの企業が業務データの保存や交換に利用しています。C#では、StreamReaderクラスを使用してファイルを操作します。このクラスは、ファイルを開いて読み取るだけでなく、さまざまな種類のファイルに対して多様な処理を行うことができます。もちろん、CSVファイルの読み込みにも活用できます。具体的には、OpenRead()メソッドでCSVファイルを開き、ReadLine()メソッドで内容を1行ずつ読み込みます。読み込んだ各行はSpl

  17. C#のLINQは結果が空の場合に何を返すのか?

    統合言語クエリ(Language-Integrated Query:LINQ)とは、クエリ機能をC#言語に直接組み込むことを目的とした、一連のテクノロジーの総称です。LINQを利用すれば、SQL Serverデータベース、XMLドキュメント、ADO.NETデータセット、さらにはIEnumerableインターフェースやジェネリック版のIEnumerable<T>を実装したあらゆるオブジェクトコレクションに対して、C#のコードとして自然にクエリを記述できます。結果が空の場合、LINQは何を返す?LINQのクエリ結果が空だった場合の挙動は、呼び出すメソッドによって大きく異なります。Fir

  18. C#のWebClientを使って特定のURLにデータをPOSTする方法を解説

    WebClientとはC#ではWebClientクラスを使用することで、Web APIとの間でデータの取得(GET)や送信(POST)を簡単に行うことができます。WebClientは、サーバーとの間でデータを送受信するための共通メソッドを提供しており、Web APIを利用する際に非常に手軽なクラスです。なお、最近の開発ではWebClientの代わりにHttpClientを使用することも推奨されていますが、本記事ではWebClientによるPOST処理の基本を解説します。WebClientクラスは内部的にWebRequestクラスを利用してリソースへアクセスします。また、WebRequest.R

  19. C#で数値のみにマッチする正規表現の書き方

    正規表現(Regular Expression)とは、入力されたテキストとの一致を判定するためのパターンのことです。.NET Framework には、こうしたパターンマッチングを実現する正規表現エンジンが組み込まれており、C# から簡単に利用することができます。正規表現のパターンは、1つ以上の文字リテラル・演算子・構成要素を組み合わせて作ります。数値だけにマッチさせるパターンを理解するために、まず基本となるメタ文字を確認しておきましょう。正規表現の基本メタ文字* = 直前の要素の0回以上の繰り返し ? = 直前の要素が0回または1回 ^ = 文字列の先頭([] 内では否定条件) [] = 括

  20. C#でファイルサイズを取得する方法|FileInfoクラスのLengthプロパティ活用ガイド

    C#でファイルサイズを取得したい場合、FileInfoクラスを使うのが最も一般的な方法です。この記事では、FileInfoクラスの基本から、単一ファイルおよび複数ファイルのサイズ取得方法まで、実例付きでわかりやすく解説します。FileInfoクラスとはFileInfoクラスは、C#においてファイルとその操作を扱うためのクラスです。ファイルの作成・削除・読み取りなどに使用できるプロパティやメソッドを豊富に提供しており、ファイルへのデータ書き込みにはStreamWriterクラスと組み合わせて使用することもできます。FileInfoクラスはSystem.IO名前空間に属しています。主なプロパティ一

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:128/134  20-コンピューター/Page Goto:1 122 123 124 125 126 127 128 129 130 131 132 133 134