我有一個單體靜態類,其中包含設置Settings.Instance.MemberName
。
該類在GlobalSettings項目中包含多個項目的解決方案。單身靜態成員vs靜態本地會員vs本地會員
所有項目都編譯爲DLL並由外部Windows服務進程使用。
在此解決方案的一個項目中,我有100-200個實例ClassA
,此類用於使用網絡套接字輪詢來自設備的數據。
輪詢是通過某些邏輯完成的,而我使用的設置來自Settings.Instance
, ,例如,設置是輪詢之間的休眠時間。
socket.Send(..);
Thread.Sleep(Settings.Instance.SleepBetweenSendAndReceive);
socket.Receive(..);
我的問題是,有什麼更好的做法?
所有的實例應該像上面直接調用Settings.Instance.MaxNetworkRetries。
在ClassA的構造函數,我應該載入所有設置到本地靜態私有成員
(Thread.sleep代碼(_sleepBetweenSendAndReceive);)
在ClassA的構造函數,我應該加載所有設置到本地私人會員
(Thread.Sleep(_sleepBetweenSendA ndReceive);)
什麼會給予最好的性能?或者也許根本沒有區別。
您是否遇到過與該代碼相關的任何性能問題?甚至更重要的問題:程序執行過程中'Settings.Instance.MemberName'值是否有可能改變? – MarcinJuraszek
他們不會改變。我在使用套接字的過程中遇到了性能問題,爲了使代碼更好地工作,我盡我所能,我知道這是次要的改進,如果有的話......我只是好奇什麼更好,教育目的還。 – ilansch