1

一度に 24 時間プロセスを実行する必要がある Microsoft SQL Server CE を使用して ASP.NET アプリケーションを構築しています。昨日、夜間試験を開始しました。午前 2 時 30 分頃に、次の例外がスローされました。

データベース ファイルが見つかりません。データベースへのパスを確認してください。[データ ソース = ]

実行していたコード スニペットを次に示します。これは、データ アクセスに使用するヘルパー ライブラリです。

public class DataHelper
{
  private string _connectionString = ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;
  public void ExecuteNonQuery(string SQL)
  {
    using (SqlCeConnection _conn = new SqlCeConnection(_connectionString))
    {
      _conn.Open();
      using(SqlCeCommand _cmd = new SqlCeCommand(SQL, _conn))
      {
        _cmd.ExecuteNonQuery();
      }
    }
  }
}

そして、私はこれを私のweb.configに持っています

<configuration>
  <connectionStrings>
    <add name="myConnString" connectionString="data source=|DataDirectory|\myDB.sdf"/>
  </connectionStrings>

私のテストでは、(IIS ではなく) Visual Studio 開発 Web サーバーを使用して ASP.NET アプリケーションを実行しています。アプリケーションは 12 時間強で問題なく動作しました。その後、突然、上記の例外がスローされました。突然データベースが見つからない理由はありますか? 私の最初の考えは、VS 開発 Web サーバーがアプリ プールまたは何かをリサイクルし、システムが接続文字列を失ったということでした。

4

1 に答える 1

0

これが本当に元の質問に対する答えであるかどうかはわかりませんが、長時間実行されるアプリケーションの中身を、Windows サービスでホストされている WCF サービスに分割することになりました。今、私が抱えていた元の問題はありません。

于 2013-01-23T23:24:58.037 に答える