Как да настроите Windows клиент за уеб базирана dll

Имам приложение, което започна живота си като C#-базиран Windows GUI, който използва marshalling, за да говори с C DLL.

Сега трябва да отделя Windows клиента и DLL, така че клиентът да бъде инсталиран на отдалечен компютър и да комуникира с C DLL през интернет. Друго усложнение е, че искам да имам множество Windows клиенти, свързващи се с C DLL.

Целият този свят е нов за мен, така че ме извинете, ако следващите въпроси са наивни.

Моите въпроси:

0) Кой е най-добрият метод клиентът да комуникира с DLL през интернет? TCP/IP сокети?

1) Трябва да направя модификации на моя DLL, за да обслужва множество клиенти. Но имам нужда от някакъв мидълуер, който събира заявките от различните клиенти, подава ги към DLL и след това изпраща резултатите обратно на съответния клиент. Има ли някакъв код (като node.js), който би улеснил това?


person PaeneInsula    schedule 10.03.2015    source източник


Отговори (1)


Относно: Кой е най-добрият метод клиентът да комуникира с DLL през интернет?

Вашето предложение за използване на TCP/IP със сигурност може (и вероятно ще бъде) да бъде част от решението, но ще има и други компоненти на решението. Избраната от вас посока отчасти ще бъде направена от отговора дали използвате стандартно маршалинг (COM) или персонализирано? Най-малкото, вашето описание на проблема предполага сценарий, изискващ междупроцесни комуникации.
Има много начини за прилагане. Тази диаграма очертава общ подход, който въз основа на вашето описание може да се приложи:

Компоненти на междупроцесните комуникации

въведете описание на изображението тук

Прочетете повече тук

Относно: направете модификации на моя DLL, за да обслужва множество клиенти...

Dll е просто файл като всеки друг. Няколко процеса могат да четат и впоследствие да притежават съдържание от файл, стига процесите, извършващи четенето, да се придържат към общи правила за достъп до файлове. Не мисля, че ще трябва да модифицирате dll, поне поради тази причина. Просто се уверете, че процесите, осъществяващи достъп до dll, отговарят на протоколите за безопасен достъп до файлове. (Безопасен достъп до файлове).

person ryyker    schedule 10.03.2015