C#のCommandTimeoutは機能しません。
CommandTimeoutは、データベースコマンド実行のタイムアウト時間を設定するために使用されます。CommandTimeoutが機能しない場合、以下に考えられる原因がいくつかあります。
- データベースの接続文字列にCommandTimeoutプロパティを設定していません: 接続文字列には、既定のコマンドタイムアウトを指定するCommandTimeoutプロパティを設定する必要があります。 例:Data Source=ServerName;Initial Catalog=DatabaseName;Command Timeout=30;
- コマンドオブジェクトに CommandTimeout プロパティが設定されていません。データベースコマンドを実行する前に、コマンドオブジェクトに CommandTimeout プロパティを設定する必要があります。例: command.CommandTimeout = 30;
- 一部のデータベースサーバでは、CommandTimeoutプロパティの設定がサポートされていません。
- コマンドタイムアウト時間よりも長い時間がかかると、CommandTimeoutを設定していても、CommandTimeoutはタイムアウトします。
以上の原因にて確認しても問題が解決できない場合は、データベース接続の問題やネットワークの問題など、その他の原因が考えられるため、そちらも排查する必要があります。