質問

ASP.NET Webアプリを提供するテストWindowsホスト(50 MB)がありましたが、ほぼ正常に機能しましたが、100 MBにアップグレードされた後、SQL ServerをVisualからリモートで接続しようと頻繁にSQL Server TimeOutエラーを取得しました。 Studio(つまり、私のサイトのローカル開発)、私はSQLコマンドのタイムアウトを手動で増やそうとしましたが、どういうわけか解決されたと思いますが、私の行動は正しくないと思います。最終ユーザーにとってはすべてが正常に機能します。サイトを開発し、VS2010を介してリモートデータベースにアクセスする際に問題がありましたが、タイムアウトの増加を本当に検討する必要がありますか?タイムアウトをグローバルに増やすにはどうすればよいですか?各SQLコマンドのCommandTimeoutプロパティを設定する必要がありますか?接続文字列でそれを増やすことは可能ですか?もちろん、私は現在共有ホストを使用しているので、SQL Server Management Studioの設定を変更できません

私はタイムアウトプロパティに関して良い気持ちがないので、この問題について私に導いてください!ありがとう

役に立ちましたか?

解決

これをグローバルに設定する簡単な方法はないと思います。たとえば、接続文字列など。

あなたができること(しかし、これはあなたのコードをそのように動作させる必要があります)は、あなたのコマンドタイムアウトを構成に入れることです:

<configuration>
   <appSettings>
      <add name="CommandTimeout" value="120" />
   </appSettings>
</configuration>

そして、あなたのコードで、構成からその値を読み、あなたのためにそれを使用します SqlCommand クラス:

int commandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]);

using(SqlCommand cmd = new SqlCommand(..(your SQL statement)..., connection))
{
    cmd.CommandTimeout = commandTimeout;
}

これにより、コードを変更することなく、少なくともタイムアウトを調整できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top