ASP.NET Web API コントロール
ストレージの設定
ComponentOne for Web API > Web APIの使用 > Web API の設定 > ストレージの設定

Web APIサービスアプリケーションを作成し、オプションでそこにストレージを構成できます。ストレージは、サーバー側またはリモートの場所でデータのリポジトリとして機能します。データベースまたはデータファイルから、クライアントアプリケーションにデータを提供します。クライアントアプリケーションは、このデータを使用し、GET要求を通してREST APIサービスを利用して、目的の形式でExcelファイルを生成、変換、および結合します。詳細については、Excelサービスを参照してください。

ユーザーがGET要求を発行すると、クライアントアプリケーションは、構成されたストレージからデータ/ファイルをフェッチします。ストレージには、リモートストレージまたはローカルストレージを使用できます。リモートストレージは、クラウド上に存在する場合や、ホストサービスを構成したサーバーとは別のサーバー上に存在する場合があります。一方、ローカルストレージは、ホストサービスが配置されているサーバーと同じサーバーに存在します。このセクションでは、サービスアプリケーション内でローカル保存フォルダを作成、構成する方法を具体的に説明します。また、以降の各セクションでは、ローカルストレージを構成するためのサーバー側接続文字列および.NETコレクションについて説明します。

Web APIの設定トピックで作成したWeb APIサービスでローカルストレージを構成するには、次の手順を実行します。

  1. サービスアプリケーションで、[Files]という名前のフォルダを作成します。
  2. 目的のデータファイルをこのフォルダに追加します。
  3. サービス内でこのストレージを構成するには、以下に示すように、GetFullRoot() メソッドを呼び出し、その値をWeb APIサービスプロジェクトのStartupクラス内のConfiguration (IAppBuilder app) メソッドのローカル変数folderに渡します。
    C#
    コードのコピー
    var folder = GetFullRoot("Files");
    
  4. 以下に示すように、Startup 内でGetFullRoot()メソッドを定義します。
    C#
    コードのコピー
    private static string GetFullRoot(string root)
            {
        var applicationBase = AppDomain.CurrentDomain.SetupInformation
            .ApplicationBase;
            var fullRoot = Path.GetFullPath(Path.Combine(applicationBase, root));
            if (!fullRoot.EndsWith(Path.DirectorySeparatorChar.ToString(), 
            StringComparison.Ordinal))
            {
      // GetFullPathで一致を判定する場合は、完全なディレクトリ名のみとの一致が判定されます。
                            fullRoot += Path.DirectorySeparatorChar;
                    }
                return fullRoot;
            }
    
  5. 以下に示すように、Startup 内のConfiguration メソッドのAddDiskStorage() メソッドを通して、ディスクストレージをサービスアプリケーションの[StorageProviderManager]に追加します。
    C#
    コードのコピー
     app.UseStorageProviders()
        .AddDiskStorage("fullRoot", GetFullRoot("Files"));
    

    このメソッドは、ルート名、およびストレージの完全なパスを取ります。保存フォルダに適切な名前、たとえば、この場合には"root"を付けます。

関連トピック