Вы предоставили так мало подробностей о проблеме, что почти невозможно дать вам окончательный ответ. Тем не менее, ваш комментарий к ответу Аллона интересен.
Если я запускаю слушателя в консоли без
WCF, все хорошо
То есть ваше приложение DDE что-то слушает? Теперь я должен предположить, что вы пытались создать клиент DDE, который подписывается на консультативный цикл через DdeClient.StartAdvise
. Этот метод извлечения данных сильно зависит от механизма прокачки сообщений.
Когда вы создаете экземпляр DdeClient
, он по умолчанию создает собственный насос сообщений в отдельном потоке для получения этих уведомительных уведомлений. Это объясняет, почему это работает, когда вы оставляете свой код в базовом консольном приложении.
Однако, когда вы смешиваете WCF, могут возникнуть некоторые сложности, особенно связанные с потоками, которые, возможно, придется решать вручную. Единственный способ, которым я смогу сказать, это предоставить вам дополнительную информацию.