Я пытаюсь перенести простое приложение WinForms в веб-приложение ASP.Net. Приложение WinForms в основном представляет собой только уровень представления для сложного простого приложения C и взаимодействует с устаревшим кодом через COM-взаимодействие. У меня скромный опыт работы в ASP.Net, javascript, jQuery и большой опыт работы в WinForms и interop, поэтому я знаю основы, мне просто нужно принять дизайнерское решение.Веб-приложение для устаревшего кода interop
Путь приложение выглядит сейчас так:
Существует куча унаследованной C (даже не С ++) код, который может быть изменен и повторно, но портирование это не вариант. Это уровень бизнес + данных, назовите его так, как вы хотите. Я буду называть его устаревшим кодом.
При запуске устаревший код создает COM-сервер, который используется для представления и взаимодействия с пользователем. Данные презентации сериализуются и отправляются на этот COM-объект («Я отправляю вам некоторый результат».), а взаимодействие с пользователем осуществляется посредством циклического опроса («Есть ли у вас вход для меня?»). Не самое красивое решение, но просто как черт.
COM-объект - это приложение .NET 2.0 WinForms, отображаемое как COM. Это приложение также предоставляет некоторые функции другим приложениям .NET через .NET Remoting, но это также не так важно.
Хотя система довольно сложна, приложение WinForms действительно используется только для взаимодействия, поэтому довольно легко переключиться на Интернет. Я не уверен, что это лучший способ сделать веб-сервер. < ---> взаимодействие устаревшего кода.
Первое, что приходит мне на ум (поскольку я уже реализовал .NET Remoting) заключается в том, чтобы разоблачить функциональность WinForms для веб-части через локальный .NET Remoting, заставляя ее действовать как своего рода прокси-сервер между устаревшим кодом и веб-приложение. Мне на самом деле нужна только часть сообщения, без форм. В этом случае веб-приложение должно получить доступ к этой функции через .NET Remoting (локально).
Можно ли использовать веб-приложение для локального использования в другом приложении с помощью .NET Remoting? Кроме того, я мог бы изменить приложение на службу Windows, но могу ли я по-прежнему показывать его функциональность через COM для устаревшего кода?
Что было бы лучшим способом достичь этого? Обратите внимание, что при необходимости я могу внести некоторые изменения в устаревший код.
Спасибо за ваш ответ. У меня нет опыта работы с Component Services, поэтому я сначала проверю это. – Groo