首页 / C# / c#-wcf中的单例模式
c#-wcf中的单例模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-wcf中的单例模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1242字,纯文字阅读大概需要2分钟。
内容图文
![c#-wcf中的单例模式](/upload/InfoBanner/zyjiaocheng/657/8c386dfcd5084a94988623b52b644851.jpg)
在wcf应用程序中建议使用单例模式吗?我有ServiceResponse类,它将处理响应和errordetail以及wcf当前请求的几乎所有细节.当我第一次使用该服务时,可以说我在ServiceResponse类中有5个属性,并且在errordetail属性中填充了各自的值和一些错误详细信息.对于下一个命中,可以说我没有得到任何错误详细信息,并且所有其他4个属性都已满.
但是这里的事情是,errordetail属性仍然使用先前的值填充,我认为即使在后续命中之后也不会创建单例对象.因此,只有更改的值会受到影响,但未更改的属性仍会保留后续匹配的先前值.
是因为appdomain从未卸载以释放对象以允许为另一个imm创建下一个sinleton对象.请求?否则如何在wcf中实现单例模式.感谢帮助.
解决方法:
单例模式意味着该对象仅实例化一次,并且在AppDomain的整个生命周期中都存在.您不应该将特定于给定请求的数据存储在静态对象中,因为它们将共享相同的数据,而这些数据可能不是您想要的.
在WCF应用程序中使用静态对象是一个好主意,这将完全取决于您的方案以及在那里存储的内容.由于WCF是一个多线程环境,其中多个线程可以访问此共享数据,因此您必须格外小心,以使用适当的同步机制来确保此数据是线程安全的.
is it because the appdomain never get unloaded to release the object
to allow the next sinleton object to get created for the other imm.
request?
启动应用程序时会创建一个AppDomain.不要期望在每个请求上获得不同的AppDomain.所有请求都将来自同一个AppDomain,直到应用程序被IIS回收为止.
内容总结
以上是互联网集市为您收集整理的c#-wcf中的单例模式全部内容,希望文章能够帮你解决c#-wcf中的单例模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。