Open棟梁 wiki
https://github.com/OpenTouryoProject/OpenTouryo/issues/164
非同期処理サービス構築のチュートリアル作成前段階のメモ
非同期処理サービスの使用の詳細は以下のURLを参照のこと。
環境を準備する。
検証は、
を使用した。
以下をインストール
サービス・アカウントからSQL Serverにログインする。
なので、以下の手順に従って、
ローカル・システム・アカウントのログインと権限付与をする。
app.configファイルの接続文字列を設定する。
<connectionStrings> <!-- SQL Server / SQL Client用 --> <add name="ConnectionString_SQL" connectionString="Data Source=localhost\sqlexpress;Integrated Security=SSPI;Initial Catalog=AsyncProcessingServiceDB;"/> </connectionStrings>
AsyncProcessingService?をビルドする。
Visual Studioからソリューション・ファイルを開いてビルドする。
ビルド出力(*.exe)をWindowsサービスとしてインストールする。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i "C:\root\programs\C#\Frameworks\Infrastructure\ServiceInterface\AsyncProcessingService\bin\Debug\AsyncProcessingService.exe"
非同期処理のクライアントとサーバを開発する。
以下のソリューションファイルを開くと、2つのプロジェクトが開く。
"C:\root\programs\C#\Samples\AsyncSvc_sample\AsyncSvc_sample.sln"
TestAsyncSvc_Sample
非同期処理をキューに登録するプログラム。
app.configファイルの接続文字列を設定する。
<connectionStrings> <!-- SQL Server / SQL Client用 --> <add name="ConnectionString_SQL" connectionString="Data Source=localhost\sqlexpress;Integrated Security=SSPI;Initial Catalog=AsyncProcessingServiceDB;"/> </connectionStrings>
普通にビルドする。
AsyncSvc_sample
登録された非同期処理を取り出しディスバッチする先のビジネスロジック。
普通にビルドする。
ビルドが完了したら、非同期処理サービスのプロジェクト出力フォルダにコピーする。
"C:\root\programs\C#\Frameworks\Infrastructure\ServiceInterface\AsyncProcessingService\bin\Debug"
業務テーブルにアクセスする場合に使用するDam
非同期処理管理テーブルにアクセスする場合に使用するDam
"C:\root\programs\C#\Frameworks\Infrastructure\ServiceInterface\AsyncProcessingService\TMInProcessDefinition.xml"
DeserializeFromBase64Stringメソッドで、
userParameterValue?.Dataの業務データを
バイナリデータからオブジェクトへ復元する。
非同期処理管理テーブルから
本非同期タスクのTaskIDに対応するCommandIDを取得する。
非同期処理管理テーブルの
本非同期タスクのTaskIDに対応するCommandIDを「0」クリアする。
業務処理を実行する。 必要に応じてループで実装する。
非同期処理管理テーブルの
本非同期タスクのTaskIDに対応する進捗率をアップデートする。