0

我有一个 Windows 窗体应用程序(同步应用程序,如 DropBox 和 Google Drive)以及我使用 SharpShell 创建的 COM 组件(Shell 扩展),它向 Windows 文件系统添加了功能。我的问题是 COM 如何与 Windows 窗体应用程序通信。例如

当我在我的 Windows 窗体应用程序中创建一个单例时,COM 扩展看不到这个 Singleton(null),因为我认为它是一个不同的过程。我的问题是我想要 COM 进程(C# 代码)如何与 Windows 窗体应用程序(也是 c# 代码)通信的最佳实践,或者我希望两个应用程序都能看到我的单例。

public class FileLoggerDoubleCheckLocking : BaseFileLogger
{
    private static FileLoggerDoubleCheckLocking _instance;
    private static readonly object _lock = new object();

    private FileLoggerDoubleCheckLocking()
    {
    }

    public static FileLoggerDoubleCheckLocking Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                    {
                        _instance = new FileLoggerDoubleCheckLocking();
                    }
                }
            }
            return _instance;
        }
    }
}
4

1 回答 1

1

谢谢,我已经通过使用 WCF Named Pipes WCF Named Pipes解决了它

于 2016-02-22T11:03:59.400 回答