從Web應用程序調用一個Web服務,該服務反過來調用一些靜態幫助器類來過濾和排序數據 - 嘗試提前思考,如果我有多個用戶意外的行爲在web應用程序(.net)中使用靜態方法是否存在潛在的缺陷?
3
A
回答
3
確保您的靜態方法是線程安全的。
線程安全從根本上處理確保兩個線程不以衝突方式訪問共享資源。
對Wikipedia有很好的概述。
我曾經在.NET環境中發現的最好的教程是by Joe Albahari。
1
使用靜態方法是沒有問題的。只要不使用靜態,除非您可以同步訪問並保持性能
2
不,只要這些方法不共享訪問任何共享資源。這可能是:
- 磁盤
- 一些靜態數據
- 另一個外部資源
你一定要確保你不小心共享任何資源/靜態數據的文件。
相關問題
- 1. 潛在缺陷:使用ILOC
- 2. 在Web應用程序中使用靜態方法和靜態類 - 是否應該避免?
- 3. 使用JMS隊列的潛在缺陷?
- 4. 在Web應用程序中使用靜態方法的正確方法
- 5. C#中靜態構造函數的潛在缺陷
- 6. 在某些角度的Matrix.RotateAt方法中是否存在缺陷? NET WinForms控件
- 7. 將預處理CSS包含在應用程序包中是否存在缺陷?
- 8. TextRenderer.DrawText()是否可以在WEB應用程序(C#.NET)中使用?
- 9. 靜態類在Web應用程序
- 10. JSF Web應用程序 - 使用靜態方法的DAO層
- 11. 未實現的抽象方法是否存在設計缺陷?
- 12. 在使用IronRuby編寫WPF應用程序時是否有任何缺陷?
- 13. .NET 3.5 Web應用程序 - 移植到64位 - 潛在問題
- 14. 在jsp應用程序範圍內存儲對象的缺陷
- 15. 是一個靜態對象/變量存儲在.NET上的Web應用程序中的緩存/會話?
- 16. 在靜態web方法裏面調用非靜態方法
- 17. 在混淆應用程序時是否存在任何潛在的問題?
- 18. 在潛在高負載的Web應用程序中,python中的類變量和方法的用例是什麼?
- 19. 我應該在哪裏將靜態數據存儲在Web應用程序中
- 20. 似乎Backbone.js TodoMVC應用程序存在缺陷
- 21. 使用msg_accrights在進程之間發送&fd是否存在缺陷?
- 22. 當沒有代理時使用WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials是否存在缺陷?
- 23. 從ASMX調用靜態方法的缺陷
- 24. 在Silverlight應用程序中創建靜態DomainContext是否好?
- 25. Rails身份驗證 - 當*不*使用設計的潛在缺陷?
- 26. 是否鼓勵在Web應用程序中使用線程?
- 27. 在asp.net 2.0 web應用程序中使用.net 3.5程序集
- 28. 使私有方法靜態化的目的是否存在?
- 29. 在靜態類中調用靜態方法C#ASP.NET Web窗體
- 30. 無法使用.NET Web應用程序(C#)在NetSuite的登錄
能否詳細說明一下 – Kshitij
這個問題的答案有點複雜,它不直接涉及線程安全問題的答案,而是爲進一步閱讀增加了兩個重要的信息來源。 –
ObjectDataSource規定我們在DALC中使用靜態方法 - 這些線程在多個請求期間是否安全? – IrishChieftain