Недавно я обновил службу windows C# для запуска в виде 64-разрядного процесса .net. Обычно это было бы тривиально, но система использует 32-битную DLL, написанную на C++. Невозможно преобразовать эту DLL в 64-разрядную, поэтому я обернул DLL в отдельный 32-разрядный процесс .net и открыл интерфейс .net через удаленный доступ.Могу ли я загрузить 32-битную DLL в 64-разрядный процесс в Windows?
Это довольно надежное решение, но я бы предпочел запустить систему как единый процесс. Есть ли способ загрузить мою 32-битную DLL в 64-битный процесс и получить доступ к нему напрямую (возможно, через какой-то слой thunking)?
В вопросе говорится, что этот процесс является службой Windows, а не веб-сайтом ASP.NET. Более того, параметры IIS, которые вы описываете, эффективно реализуют то же самое решение, которое пытается избежать. – 2011-12-14 14:30:53