我有一个单体静态类,其中包含设置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