ActiveReports for .NET 18.0J
ASP.NET Core のミドルウェア
ActiveReportsユーザーガイド > 概念 > ActiveReports Webデザイナ > ASP.NET Core のミドルウェア

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

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

ブラウザからレポートを設計するには、ASP.NET Core のミドルウェアでActiveReportsのWebデザイナを構成する必要があります。これは、UseReportDesigner()ミドルウェアを追加することで実現できます。これにより、ActiveReportsのAPIとハンドラのミドルウェアが構成されます。デザイナでJSViewerのプレビュー機能を使用するには、UseReportViewer()ミドルウェアをUseReportDesigner()ミドルウェアと一緒に追加します。 

Webデザイナのミドルウェア設定を定義するには、DesignerSettingsクラスの次のメソッドを使用できます。

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

以下の手順はASP .NET MVC Coreアプリを使用してWebデザイナサンプルを作成する方法について紹介します。

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

    Configure your new project dialog

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

    Create a new ASP.NET core web application dialog

  3. フレームワークに「.NET 8.0」を選択し、[作成]をクリックします。

    Create a new ASP.NET core web application dialog

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

  5. 表示されるウィンドウで、[参照]タブをクリックし、検索ボックスに[Microsoft.AspNetCore.StaticFiles]を入力します。最新のバージョンを選択して、[インストール]をクリックします。

  6. [参照]タブで、検索ボックスに[MESCIUS.ActiveReports.Aspnetcore.Designer.ja]を入力して、[インストール]をクリックします。

  7. プロジェクトフォルダ内に[resources]フォルダを作成します。[resources]フォルダに、既存のレポート、テーマ、画像を保存できます。

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

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

    Program.cs
    コードのコピー
    using GrapeCity.ActiveReports.Aspnetcore.Designer;
    
    DirectoryInfo ResourcesRootDirectory = new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "resources" + Path.DirectorySeparatorChar));
    var builder = WebApplication.CreateBuilder(args);
    // コンテナにサービスを追加します。
     builder.Services.AddControllersWithViews();
     builder.Services.AddReportDesigner();
    var app = builder.Build();
    
     app.UseHttpsRedirection();
    if (!app.Environment.IsDevelopment())
     {
        app.UseDeveloperExceptionPage();
     }
    // APIとハンドラのミドルウェアを設定します。
    app.UseReportDesigner(config => 
                config.UseFileStore(ResourcesRootDirectory, null, FileStoreOptions.NestedFoldersLookup));
    app.UseDefaultFiles();
    app.UseStaticFiles();
    app.Run();
    

.Net 6.0以下を対象とするアプリケーションを作成する場合は、Startup.csファイルを次のように変更します。

Startup.cs
コードのコピー
using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using GrapeCity.ActiveReports.Aspnetcore.Designer;
namespace WebDesignerSample
{
        public class Startup
        {
                // リソース(レポート、テーマ、画像)の場所
                private static readonly DirectoryInfo ResourcesRootDirectory = new DirectoryInfo(".\\resources\\");
                public void ConfigureServices(IServiceCollection services)
                {
                        // Webデザイナのサービス
                        services.AddReportDesigner();
                }
                public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
                {
                        // Webデザイナのミドルウェア
                        app.UseReportDesigner(config =>
                                    config.UseFileStore(ResourcesRootDirectory, null, FileStoreOptions.NestedFoldersLookup));
                        // 静的ファイルのミドルウェア
                        app.UseDefaultFiles();
                        app.UseStaticFiles();
                }
        }
}