我每次調用webmethod時都會調用我的webservice構造函數。這對我添加的一些新功能造成了一些問題,我無法弄清楚我做錯了什麼導致了這一點。我正在創建web服務的唯一地方是在global.asax.cs的Application_Start中,但是如果我將代碼移除到webservice的new
,它每次調用webmethod時仍會調用構造函數。
我已經通過瀏覽到.asmx文件並調用webmethod的方式測試了這一點,並且我還創建了一個測試控制檯應用程序,該應用程序具有對webservice的引用並將調用這些方法。這兩個結果都一樣。
我在ASP.NET 1.1中使用c#。有任何想法嗎?
編輯:
我想創建心跳線程輪詢一個窗口服務。我試圖將結果保存在散列表中(多個線程輪詢多個服務)。我已經改變了webmethod(因爲它用於輪詢windows服務)以從哈希表中獲取結果。我們正在嘗試增加此webmethod調用的速度。爲什麼我每次調用webmethod時都會調用WebService構造函數?
4
A
回答
18
每當您調用Web方法時,都會創建Web服務的新實例 - 這是預期的行爲。 Web服務是無狀態的,這意味着Web方法調用之間的服務實例不會保持活動狀態,因此您無法在Web服務的成員(字段,屬性)中存儲任何狀態。
如果您想要在Web方法調用之間保存一些值/狀態,則必須使用ASP.NET會話或數據庫來達到此目的。
0
嗯...這是一種設計我害怕。你能描述一下你遇到的問題以及你想要達到的目標嗎?我認爲你需要在這裏重新設計一下你的設計。
+0
編輯原始帖子來描述我們正在嘗試做什麼。 – 2009-05-06 15:57:08
0
你也可以切換到支持有狀態服務的WCF
+0
不幸的是,我們被這個版本的1.1框架'卡住'了 – 2009-05-06 16:14:14
相關問題
- 1. Angular/Ionic - 爲什麼我每次輸入輸入時都會調用函數?
- 2. 爲什麼構造函數不會被多次調用?
- 3. 爲什麼每次創建新視圖模型時都不會調用視圖構造函數?
- 4. 爲什麼調用基構造函數?
- 5. Angular2,爲什麼每次移動鼠標時都會調用函數
- 6. 通過NSURLConnection問題調用Webservice,每次都不會調用?
- 7. 爲什麼在調用複製構造函數之前調用構造函數?
- 8. 爲什麼每次我調用它時都會執行兩次該方法?
- 9. 爲什麼這些python代碼實例都調用構造函數兩次?
- 10. 每次調用stdio函數都會導致系統調用嗎?
- 11. 每次使用變量時,PHP函數都會被調用嗎?
- 12. 爲什麼多次調用HttpApplication構造函數
- 13. 爲什麼map.insert()方法調用拷貝構造函數兩次?
- 14. 爲什麼構造函數只被調用一次?
- 15. 爲什麼這個構造函數被調用兩次?
- 16. ViewScope的構造函數調用兩次,不知道爲什麼
- 17. 爲什麼不是第二次調用構造函數?
- 18. C++爲什麼「A a();」將不會調用構造函數
- 19. 爲什麼PHP不會自動調用父構造函數?
- 20. 每次調用函數時都會增加一個Int?
- 21. 每次更新路由時都會調用一個函數vue.js
- 22. 每次調用jquery函數時都會增加變量
- 23. 爲什麼要調用析構函數,但在將對象作爲參數傳遞時不會調用構造?
- 24. 爲什麼我的C++移動構造函數未被調用?
- 25. 爲什麼我的構造函數被反覆調用?
- 26. 爲什麼在創建對象時調用構造函數?
- 27. 爲什麼XmlSerializer的Deserialize調用我的類構造函數兩次?
- 28. 爲什麼我每次使用CFileDialog時都會收到異常?
- 29. 構造函數被再次調用?
- 30. PHP調用構造函數一次
非常感謝,真的是最好的答案,真的非常感謝你! – 2013-04-10 16:12:57