Взаимодействие 64 битного и 32 битного процесса.
От: Vis Украина  
Дата: 16.11.10 15:22
Оценка:
Помогите найти решение.

Исходные данные:
Есть 32 битная WinApi unmanaged DLL-ка.

и 64битная Windows с IIS, ASP.NET и всем чем положено для веб-сервиса.

Нужно, чтобы 64-битные .NET мобули вызывали методы из 32 битной DLL.
32-битный враппер уже написан, хотя может он и не нужен...
DLL-ка работает со сложными структурами данных, подчас даже с односвязными списками.

Вопрос:
Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?

Поможет ли мне WCF?
Возможно ли написать 32-битный Local COM сервис?

Всем спасибо за ответы.
Re: Взаимодействие 64 битного и 32 битного процесса.
От: vmpire Россия  
Дата: 16.11.10 17:13
Оценка: +2
Здравствуйте, Vis, Вы писали:

Vis>Вопрос:

Vis>Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?
Смотреть в сторону межпроцессного взаимодействия

Vis>Поможет ли мне WCF?

Да, если 32-битная часть будет в другом процессе

Vis>Возможно ли написать 32-битный Local COM сервис?

InProc — нет, OutOfProc — да

В общем, Вам нужен сервисный процесс, который будет хостить 32-битную часть. С помощью COM процесс будет создаваться автоматически, в случае WCF или других способов — процесс нужно будет создавать руками.
Сложные структуры данных придётся сериализовать.
Re: Взаимодействие 64 битного и 32 битного процесса.
От: TK Лес кывт.рф
Дата: 16.11.10 17:17
Оценка:
Здравствуйте, Vis, Вы писали:

Vis>и 64битная Windows с IIS, ASP.NET и всем чем положено для веб-сервиса.


Vis>Нужно, чтобы 64-битные .NET мобули вызывали методы из 32 битной DLL.

Vis>32-битный враппер уже написан, хотя может он и не нужен...
Vis>DLL-ка работает со сложными структурами данных, подчас даже с односвязными списками.

Vis>Вопрос:

Vis>Как, (куда смотреть, какую технологию выбрать) реализовать взаимодействие?

Можно посмотреть в сторону COM интерфейса к данной dll. К самим COM объектом работать через COM+
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.