Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Unity Factory应该是单身吗?_C#_Wcf_Dependency Injection_Inversion Of Control_Unity Container - Fatal编程技术网

C#Unity Factory应该是单身吗?

C#Unity Factory应该是单身吗?,c#,wcf,dependency-injection,inversion-of-control,unity-container,C#,Wcf,Dependency Injection,Inversion Of Control,Unity Container,可能重复: 我们有一个处理各种XML消息的应用程序。我们使用依赖项注入和单例工厂来创建相关消息的实例。我们正在使用WCF从队列中提取这些消息,因此当我们启动WCF服务时,它正在旋转多个实例,使我们能够同时处理队列外的消息 我们使用单例实现了我们的工厂,只是担心我们可能会遇到问题,因为我们并行处理多个实例。(像这样的问题现在是一个瓶颈,可能会遇到线程争用等) 我们不应该把工厂变成单身汉吗?只是好奇……我不知道这方面的情况,所以我想多听听专家的意见 如有任何建议/意见,将不胜感激 谢谢 当您使用D

可能重复:

我们有一个处理各种XML消息的应用程序。我们使用依赖项注入和单例工厂来创建相关消息的实例。我们正在使用WCF从队列中提取这些消息,因此当我们启动WCF服务时,它正在旋转多个实例,使我们能够同时处理队列外的消息

我们使用单例实现了我们的工厂,只是担心我们可能会遇到问题,因为我们并行处理多个实例。(像这样的问题现在是一个瓶颈,可能会遇到线程争用等)

我们不应该把工厂变成单身汉吗?只是好奇……我不知道这方面的情况,所以我想多听听专家的意见

如有任何建议/意见,将不胜感激

谢谢


当您使用DI时,几乎不需要使用单例


相反,我会将所有内容组合在一起,并使用适当的生命周期管理和Unity来创建等效的单例。

请参阅[回答。谢谢@MarkSeemann,我会看一看。请说明您实际上是在谈论单例设计模式,还是您的意思是容器应始终返回该工厂的相同实例(在DI术语中称为“单例生活方式”)。如果您拒绝投票,请发表评论。谢谢@TrueWill。我将进一步研究提供的一些信息。请查看他链接的问题;它要完整得多。