簡體   English   中英

C#方法超時已過期

[英]Timeout expired on a C# method

我已經在運行正常的mssql上運行了存儲過程。 3天前,在代碼中運行相同的過程開始使我超時超時。 嘗試檢查基礎表上是否有任何正在運行的進程,但似乎沒有。 檢查了死鎖情況,也沒有。 誰能建議下一步該如何解決?

這是代碼

public DataSet rptPaymentsByDateOptions(DateTime dateFrom, DateTime dateTo, string level, string sessionID, string degreeID, string programID, string jrnalSrce)
    {
        DataSet ds = new DataSet();
        Database db = DatabaseFactory.CreateDatabase();
        DbCommand cmdSem = db.GetStoredProcCommand("[iSchool].[rptCurrentSem]");
        DbCommand cmd = db.GetStoredProcCommand("[iFinance].[rptPaymentsByDateOptions]");
        db.AddInParameter(cmd, "DateFrom", DbType.Date, dateFrom);
        db.AddInParameter(cmd, "DateTo", DbType.Date, dateTo);
        db.AddInParameter(cmd, "Level", DbType.String, level);
        db.AddInParameter(cmd, "SessionID", DbType.String, sessionID);
        db.AddInParameter(cmd, "DegreeID", DbType.String, degreeID);
        db.AddInParameter(cmd, "ProgramID", DbType.String, programID);
        db.AddInParameter(cmd, "JrnalSrce", DbType.String, jrnalSrce);
        db.LoadDataSet(cmdSem, ds, "rptCurrentSem");
        db.LoadDataSet(cmd, ds, "rptPaymentsByDateOptions"); //Timeout error here
        return ds;
    }

如果我在Management Studio中執行rptPaymentsDateOptions存儲過程,它將成功運行。

您可以增加超時

DbCommand.CommandTimeout屬性

您還可以查看表和數據以查看是否有其他索引可以加快查詢速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM