相关疑难解决方法(0)

C#中的IPC机制 - 用法和最佳实践

我刚刚在win32代码中使用过IPC.[关键部分,事件和信号量]

.NET环境中的场景如何?是否有任何教程解释所有可用的选项以及何时使用以及为什么?

.net c# ipc

51
推荐指数
4
解决办法
7万
查看次数

如何在.NET中实现共享内存?

我有一个C++ .NET应用程序和一个C#.NET应用程序.我希望他们通过共享内存进行通信.

.NET版本2.0怎么可能?

主要是想共享一个队列对象.

.net shared-memory

16
推荐指数
2
解决办法
4万
查看次数

如何在一个.NET解决方案中跨项目进行通信?

我有一个.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

5
推荐指数
1
解决办法
566
查看次数