我有一個WCF服務,我的客戶撥打電話時,告訴它運行storedprocedure1
,與param1, param2
等是否WCF緩存存儲過程
當WCF服務得到這個電話,它實例化實例化一個類DAO類。 DAO類創建連接,將參數加載到SqlCommand
對象中,然後執行該對象。
完成後,它會關閉SqlConnection
,但不會關閉或部署DAO類,因爲它需要運行多個過程。
這是問題所在。如果我編輯storedprocedure1
然後通過WCF服務調用它,我在storedprocedure1
中所做的更改不會反映,直到我重新啓動WCF服務。它像storedprocedure1
緩存在WCF中。
有沒有其他人經歷過這個,有沒有解決方案?
不這麼認爲。 SQLCommand在using子句中實例化。另外,當我關閉連接時,我將其處理掉。我已經改變了我的dao類來實現IDisposable,我們會看看是否修復它。 – edepperson 2011-05-27 12:46:14
你說得對。即使我正在處理SqlConnection和SqlCommand,但不處理DAO就是允許WCF緩存它,或者保留執行計劃等等。 我有道作爲WCF調用的類中的私有變量。所以我做了以下改變; 1)更改我的DAO類來實現IDisposable並關閉並處理SQLConnection; 2)在使用條款中創建了我的dao,並且當這不可行時,最後嘗試處理dao。所以現在它工作。感謝你在明顯的挑戰我。 – edepperson 2011-05-27 14:09:33