データベースに対して直接実行すると、実行に1秒かかるストアドプロシージャがあります。46 行のデータが返されます。
ストアド プロシージャは、私の Web サイトのコードで実行され、レポートを作成するためのデータを返します。
これはローカルで期待どおりに機能し、レポートの読み込みに非常に短い時間 (1/2 秒) しかかかりません。Web サイトが最初に展開されると、レポートは期待どおりに機能します。
ただし、ストアド プロシージャがタイムアウトになるため、一定時間 (約 30 分) が経過すると、レポートは読み込まれません。
これを回避するために、プロシージャをドロップして作成すると、再び機能し始めますが、これは明らかに私の問題の解決策ではありません。
ストアド プロシージャは、次のようなコードで呼び出されます。
DataSet content = new DataSet();
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmdSearchQuestionLibrary = db.GetStoredProcCommand("SP_NAME");
db.AddInParameter(cmdSearchQuestionLibrary, "@Param1", DbType.Int64, Id);
db.AddInParameter(cmdSearchQuestionLibrary, "@StartDate", DbType.DateTime, dtStartDate);
db.AddInParameter(cmdSearchQuestionLibrary, "@EndDate", DbType.DateTime, dtEndDate);
content = db.ExecuteDataSet(cmdSearchQuestionLibrary);
誰もこれを経験したことがありますか?または、問題の原因を知っていますか?