【使い方】
Web Service で非同期コールバックプロシージャを用いて呼び出すサンプルです。
// myService は、Webサービス
// EndReadMethod は、DataSet読込み非同期コールバックメソッド
// myIAsyncResult は、IAsyncResultインターフェイス(非同期操作のステータスを表します)
// Read_CallBack は、非同期完了時に呼び出されるコールバックメソッド(System.AsyncCallback)
/// <summary>DataSet取得非同期コールバックメソッドハンドラ。</summary>
public delegate DataSet CallbackDataSetHandler( System.IAsyncResult ar );
//Debug.WriteLine("GetDataSet : ");
// 非同期終了(Callback)メソッドを設定する
EndReadMethod = new CallbackDataSetHandler( myService.EndGetDataSet );
// 指定期間の明細データのDataSetを取得する
try
{
myIAsyncResult = myService.BeginGetDataSet( ID, Type, BeginDate, EndDate
, new System.AsyncCallback( Read_CallBack ), myService);
}
catch( Exception ex )
{
MessageBox.Show("明細データの読込み開始に失敗しました。", "エラー",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
DataSet読込み完了時のコールバックメソッドのサンプルです。
// EndReadMethod は、DataSet読込み非同期コールバックメソッド
/// <summary>後処理メソッドハンドラ(結果DataSet渡し)。</summary>
public delegate void AfterCallbackDataSetHandler( System.Data.DataSet ds );
/// <summary>
/// DataSet読み取り非同期のメソッドの完了時コールバックメソッド。
/// </summary>
/// <param name="ar">非同期操作のステータス。</param>
public void Read_CallBack( System.IAsyncResult ar )
{
//====================
// データの読込み
//====================
//Debug.WriteLine("Read_CallBack Start");
// DataSetを取得する
DataSet dsWork;
try
{
dsWork = EndReadMethod(ar);
//Debug.WriteLine("EndReadMethod End:");
}
catch( Exception ex )
{
MessageBox.Show("データの読込みに失敗しました。", "エラー",
MessageBoxButtons.OK, MessageBoxIcon.Error);
//Debug.WriteLine("EndReadMethod Error:" + ex.Message);
return;
}
}
|