ActiveReports for .NET 18.0J
ASP.NET Core のミドルウェア
ActiveReportsユーザーガイド > レポートの表示 > JSビューワの使用 > ASP.NET Core のミドルウェア

ASP.NET Core のミドルウェアとは、要求と応答を処理するためのソフトウェアです。各ミドルウェアコンポーネントは特定の目的を果たし、一方のミドルウェアがユーザーを認証し、もう一方のミドルウェアがCSS、JavaScriptなどの静的ファイルを処理します。これらのミドルウェアコンポーネントは、一緒に要求パイプラインを構成します。

ASP.NET Core Webアプリケーションテンプレートによって開発されたデフォルトのコードは、ミドルウェアのセット(IApplicationBuilderインターフェイスのUseDeveloperExceptionPageおよびUseStaticFiles)を使用して、アプリケーションの要求パイプラインを設定します。ミドルウェアは、要求パイプラインに追加された順序で実行されます。

レポートをブラウザ上に表示するには、ASP.NET Core のミドルウェアでActiveReportsのJSビューワを構成する必要があります。これは、UseReportViewer()ミドルウェアを追加することで実現できます。これにより、ActiveReportsのAPIとハンドラのミドルウェアが構成されます。

  1. ASP.NET Coreプロジェクトを作成する

  2. Visual Studio 2022を開き、検索ボックスに[ASP.NET Core Webアプリ]を入力して、新しいプロジェクトを追加します。
    Create a New Project dialog

  3. プロジェクト名を入力し、[次へ]をクリックします。

    Create a New Project dialog

  4. ターゲットフレームワークに「.NET 8.0」を選択し、「HTTPS用の構成」オプションを無効にし、[作成]をクリックします。


    Create a new ASP.Net Core Web Application dialog

    ASP.NET Core のミドルウェアでActiveReportsを構成する

  5. [ソリューションエクスプローラー]で、ソリューションを右クリックし、[NuGet パッケージの管理]を選択します。

  6. 次のパッケージをプロジェクトに追加します。

    MESCIUS.ActiveReports.Aspnetcore.Viewer.ja
    
  7. [ライセンスへの同意]ダイアログで、[同意する]をクリックします。

  8. プロジェクトフォルダ内に [Reports]フォルダを作成します。Reportsフォルダには、ビューワに表示するレポートを配置します。

  9. レポートの[ビルドアクション]プロパティが「埋め込みリソース」に設定されていることを確認します。

  10. 以下のようにProgram.csの内容を変更し、アプリケーションがActiveReportsを使用できるようにします。

    Program.cs
    コードのコピー
    using GrapeCity.ActiveReports.Aspnetcore.Viewer;
    using System.Reflection;
    var builder = WebApplication.CreateBuilder(args);
    // コンテナにサービスを追加します。
    builder.Services.AddRazorPages();
    var app = builder.Build();
    // HTTP要求パイプラインを構成します。
    if (!app.Environment.IsDevelopment())
    {
        app.UseExceptionHandler("/Error");
       
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    // ActiveReports APIとハンドラのミドルウェアを設定します。
    app.UseReportViewer(settings =>
    {
        settings.UseEmbeddedTemplates("JsViewer_Core.Reports", System.Reflection.Assembly.GetAssembly(GetType()));  
    });
    app.UseRouting();
    app.UseAuthorization();
    app.MapRazorPages();
    app.Run();
    

    UseEmbeddedTemplatesの最初の引数では、レポートに対して正しい名前空間が指定されていることを確認してください。

メモ:UseEmbeddedTemplatesの代わりに、UseFileStoreメソッドまたはUseCustomStoreメソッドを使用できます。