.NET Как связаться с приложением Windows Forms из расширения Sharpshell COM?

У меня есть приложение для формы Windows (приложение для синхронизации, например DropBox и Google Drive), а также COM-компоненты (расширения оболочки), которые я создал с помощью SharpShell, который добавил функции в файловую систему Windows. У меня вопрос, как COM общаться с приложением Windows Form. например

Когда я создаю синглтон в моем приложении Windows Form, расширение COM не может видеть этот синглтон (ноль), так как я думаю, что это другой процесс. Мой вопрос заключается в том, что я хочу узнать, как 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;
        }
    }
}

1 ответ

Спасибо, я уже решил это с помощью WCF Named Pipes WCF Named Pipes

Другие вопросы по тегам