我刚刚在win32代码中使用过IPC.[关键部分,事件和信号量]
.NET环境中的场景如何?是否有任何教程解释所有可用的选项以及何时使用以及为什么?
我有一个C++ .NET应用程序和一个C#.NET应用程序.我希望他们通过共享内存进行通信.
.NET版本2.0怎么可能?
主要是想共享一个队列对象.
我有一个.NET Core(UWP解决方案)应用程序,它有3个不同的项目(我们称之为A,B和C).
A和B是Windows运行时组件,C是一个简单的类库.
项目A和B参考项目C.
我想访问项目C的一个类,其实例将在项目A和B之间共享.
我想到了单例模式(当然),使用.NET 4的Lazy方法
问题是每次A和B项目访问实例时实例都不一样.Lazy方法创建了该类的新实例,因为它似乎以前没有创建过.我想知道我是否可以在解决方案的不同项目之间共享一个单例.我已经读过一个项目与一个进程相关联,并且每个进程都有自己的内存空间,无法共享.我的问题有解决方案吗?
编辑:这是我的HubService类的实现:
private static readonly Lazy<HubService> Lazy =
new Lazy<HubService>(() => new HubService(), LazyThreadSafetyMode.ExecutionAndPublication);
private HubService()
{
_asyncQueue = new AsyncQueue<Guid>();
}
public static HubService Instance => Lazy.Value;
Run Code Online (Sandbox Code Playgroud)
此外,是否可以使用Castle Windsor,Ninject,Autofac或Unity等工具在不同的程序集之间共享单例?
.net c# design-patterns dependency-injection inversion-of-control