Исходные данные:
Есть 32 битная WinApi unmanaged DLL-ка.
и 64битная Windows с IIS, ASP.NET и всем чем положено для веб-сервиса.
Нужно, чтобы 64-битные .NET мобули вызывали методы из 32 битной DLL.
32-битный враппер уже написан, хотя может он и не нужен...
DLL-ка работает со сложными структурами данных, подчас даже с односвязными списками.
Вопрос:
Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?
Поможет ли мне WCF?
Возможно ли написать 32-битный Local COM сервис?
Всем спасибо за ответы.
Re: Взаимодействие 64 битного и 32 битного процесса.
Здравствуйте, Vis, Вы писали:
Vis>Вопрос: Vis>Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?
Смотреть в сторону межпроцессного взаимодействия
Vis>Поможет ли мне WCF?
Да, если 32-битная часть будет в другом процессе
Vis>Возможно ли написать 32-битный Local COM сервис?
InProc — нет, OutOfProc — да
В общем, Вам нужен сервисный процесс, который будет хостить 32-битную часть. С помощью COM процесс будет создаваться автоматически, в случае WCF или других способов — процесс нужно будет создавать руками.
Сложные структуры данных придётся сериализовать.
Re: Взаимодействие 64 битного и 32 битного процесса.
Здравствуйте, Vis, Вы писали:
Vis>и 64битная Windows с IIS, ASP.NET и всем чем положено для веб-сервиса.
Vis>Нужно, чтобы 64-битные .NET мобули вызывали методы из 32 битной DLL. Vis>32-битный враппер уже написан, хотя может он и не нужен... Vis>DLL-ка работает со сложными структурами данных, подчас даже с односвязными списками.
Vis>Вопрос: Vis>Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?
Можно посмотреть в сторону COM интерфейса к данной dll. К самим COM объектом работать через COM+
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.