2

皆さん!

私はEntityFramework(実際には問題ではありません)と複数のデータベース(ObjectContexts)を使用しています。SQLサーバーの1つに追加のデータがありますが、これはオプションであり、オフラインになることもあります。

サーバーがオフラインのときにコマンドの例外を処理しようとすると、connection_instance.Open()コマンドが動作して例外が発生するまで60秒待つ必要があります。

サーバーへの接続の確立中にエラーが発生しました。SQL Server 2005に接続する場合、この失敗は、既定の設定ではSQLServerがリモート接続を許可しないことが原因である可能性があります。(プロバイダー:名前付きパイププロバイダー、エラー:40-SQL Serverへの接続を開くことができませんでした)

このタイムアウト時間を別の値の60秒から5秒に変更できますか?ちなみに、私のエンティティフレームワークのタイムアウト接続は2秒ですが、無視しています。

このタイムアウトがシステム全体に設定されているように見えます(おそらくWindowsレジスタにあります)。SQL Management Studioを介してこのSQLサーバーに接続しようとしましたが、60秒も接続しようとしましたが、同じ例外が発生しました。

それで、このタイムアウト値を変更する方法はありますか?または、SQLServerの状態をチェックする別の高速な方法はありますか?

4

1 に答える 1

0

ObjectContext.CommandTimeout は動作しますか?

 /// <summary>
/// Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used.
/// </summary>
/// 
/// <returns>
/// An <see cref="T:System.Int32"/> value that is the timeout value, in seconds.
/// </returns>
/// <exception cref="T:System.ArgumentException">The timeout value is less than 0. </exception>
public int? CommandTimeout
于 2012-12-17T16:15:29.457 に答える