各製品の資料を入手。
詳細はこちら →Blazor でAct-On のデータにリアルタイムで連携するアプリを構築
ASP.NET Core Blazor C# でAct-On にSQL でクエリ。
最終更新日:2021-11-03
この記事で実現できるAct-On 連携のシナリオ
こんにちは!リードエンジニアの杉本です。
Blazor は、.NET を使って対話型のクライアント側Web UI を構築するためのフレームワークです。JavaScript の代わりにC# を使って、UI を作れるところが魅力です。また、既存の.NET ライブラリや.NET エコシステムを使うことができる利点があります。
CData ADO.NET Provider for ActOn は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってAct-On を操作可能にします。Blazor が.NET Core 対応をしているため、Server Side Blazor からADO.NET Provider を使うことができます。この記事では、Server Side Blazor からAct-On に接続して直接SQL クエリを実行する方法を説明します。

CData ADO.NET Provider for ActOn のインストール
CData ADO.NET Provider は、通常であればRDB に接続するフレームワークである ADO.NET DataAdapter やLinqToSQL(もしくはDapper などのORM を挟んでもいいです)であり、Act-On のデータへもRDB と同感覚でアクセスが可能になります。
CData のWebsite からProvider をダウンロードして、マシンにインストールします。NuGet からインストールすることも可能です。Act-On ADO.NET Data Provider で検索してください。

Blazor でAct-On にデータ連携するアプリを構築
Blazor にADO.NET Provider for ActOn を接続
- Visual Studio を立ち上げて、Blazor アプリのプロジェクトを作成します。
- ソリューションエクスプローラーで「依存関係」から右クリックで「プロジェクト参照の追加」をクリック。
- 参照マネージャーが開くので、「参照」ボタンをクリックして、先ほどインストールしたADO.NET Provider の.dll を選択します。「C:\Program Files\CData\CData ADO.NET Provider for ActOn 2019J\lib etstandard2.0」内のSystem.Data.CData.ActOn.dll」を参照に選びます。


Blazor でAct-On のデータをSELECT
サンプルプロジェクトの「Page」→「Index.razor」を開きます。
以下のコードを書きます。使っているクエリはおなじみの標準SQL です。Act-On 固有のAPI を書かなくてもRDB と同感覚でSQL が書けるところがADO.NET Prover for ActOn の強味です。
@page "/" @using System.Data; @using System.Data.CData.ActOn; <h1>Hello, world!</h1> Welcome to your Data app. <div class="row"> <div class="col-12"> @using (ActOnConnection connection = new ActOnConnection( "")) { var sql = "SELECT Id, Name FROM Images"; var results = new DataTable(); ActOnDataAdapter dataAdapter = new ActOnDataAdapter(sql, connection); dataAdapter.Fill(results); <table class="table table-bordered"> <thead class="thead-light"> <tr> @foreach (DataColumn item in results.Rows[0].Table.Columns) { <th scope="col">@item.ColumnName</th> } </tr> </thead> <tbody> @foreach (DataRow row in results.Rows) { <tr> @foreach (var column in row.ItemArray) { <td>@column.ToString()</td> } </tr> } </tbody> </table> } </div> </div>
ActOn はOAuth 認証標準を利用しています。OAuth を使って認証するには、アプリケーションを作成してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティを取得する必要があります。
認証方法についての詳細は、ヘルプドキュメントの「認証の使用」を参照してください。
プロジェクトをリビルドして実行します。このようにAct-On からデータを直接取得し、HTML テーブル形式にレンダリングしています。

もちろんSaaS データソースへの接続の場合には、RDB 向けのドライバーと違い最終的にはHTTP リクエストが行われるので、サーバーサイド Blazor としてサーバーサイドから実行されるのか、クライアントサイド Blazor として、実行中のブラウザからHTTPリクエストが行われるのかの違いはあります。そのあたりはネットワークやプロキシの設定として注意が必要でしょう。設定はコード内の接続プロパティで可能です。