C# ASP .NET アプリケーションには、DataSet を受信して処理し、返す Web サービスがあります。
低速の接続では、返却に最大 1 分かかる場合があります。Web サービス メソッドの最後の行が実行された後、データがまだ送信されている間に接続が切断された場合、バックグラウンドで何が起こるでしょうか?
Web サービスのコードを catch ブロックでラップし、ダウンロード中に接続を切断しようとしましたが、Web サービスで例外がスローされませんでした。次のような方法でエラーを検出したいと思います。
[WebMethod(Description = "プロセスデータ")]
public DataSet プロセス(DataSet データ)
{
ブール成功 = true;
StartDatabaseTransaction();
DataSet 結果 = プロセス (データ);
試す
{
結果を返します。//これを実行した後、ケーブルをすばやく引き抜きます
}
キャッチ
{
成功 = false; //ここには来ない
}
最後に
{
if (成功) CommitTransaction(); そうでなければRollBackTransaction();
}
null を返します。
}