Я создал исполняемый файл Windows Form в.NET 3.5, который использует dll для общения с машиной, которая сканирует проверки. Я в конечном счете испытываю необходимость для перемещения от исполняемого файла до Веб-формы, которая может сделать то же самое. Это будет месяцами с этого времени, но я хотел начать проводить исследование теперь, поскольку я не сделал этого прежде. Я испытываю необходимость для использования ActiveX для общения с устройством с помощью Веб-формы. Я также не сделал этого прежде.
Я хотел бы сохранить функциональность своего существующего исполняемого файла, не имея необходимость переписывать большую часть из него, хотя я действительно понимаю, что часть его должна будет быть переписана. Я провел исследование в области ActiveX и как использовать его, но я хотел знать, была ли у кого-то аналогичная ситуация как это. Что Вы делали для преобразования exe в веб-программу? Есть ли хорошие, определенные источники там, что я забыл, что это может указать на меня в правильном направлении для этой ситуации? Есть ли совет, который можно дать на основе событий, которые могут помочь мне уменьшить ошибки? Компания, на которую я работаю, не имеет никого больше здесь, который сделал это прежде, таким образом, я должен учить меня, что все должно было сделать это.
Заранее спасибо.
Именно здесь проявляется разделение проблем и n-tier дизайн. Надеюсь, ваш слой пользовательского интерфейса слабо связан с вашей доменной моделью. Если это так, вы можете написать второй слой пользовательского интерфейса для веб. И вам не придется изменять модель домена. Затем вы можете компилировать для каждого сценария.
*примечание - В практическом использовании мне всегда приходилось расширять свой бизнес-домен, чтобы учесть некоторые проблемы со вторым пользовательским интерфейсом, но эти изменения обычно были незначительными и указывали на места, где я все равно слишком тесно связывал.
Другой вариант, который вы можете рассмотреть, - это создание слоя веб-сервисов поверх кода вашего бизнес-домена. А затем написать веб-приложение, которое взаимодействует с вашей доменной моделью через вызовы веб-сервисов. Это может иметь последствия для производительности, и я бы не стал отдавать предпочтение этому методу. Хотя вы можете найти его более удобным, если у вас нет хорошо спроектированного приложения для начала.
Обычно преобразование winforms в веб-формы вполне возможно, хотя обычно это медленный процесс разработки . Даже если у вас самый чистый в мире слой домена, тот факт, что объекты на вашей веб-странице каждый раз выбрасываются, означает, что слой веб-домена обычно пишется совсем не так, как слой домена рабочего стола.
Однако в вашем случае связь устройства с сервером будет очень сложной.
Вы смотрели xbap? По сути, это способ развертывания приложений WPF на веб-странице. Это требует, чтобы у ваших клиентов была установлена правильная версия .NET, но это будет самый простой путь для вас, особенно с учетом того, что вы можете размещать winforms в WPF ...
Вы можете взглянуть на Silverlight 4,
http://silverlight.net/getstarted/ silverlight-4-beta /
Он содержит множество функций, которых нет в веб-формах ASP.NET.
Если ваша команда может принять что-то вроде ActiveX, почему не Silverlight 4? Единственный минус в том, что SL4 все еще находится в бета-версии.
«Я хотел бы сохранить функциональность моего существующего исполняемого файла без необходимости переписывать его большую часть»
В общем, если вы извлечете столько логики насколько это возможно, в его собственную сборку / dll, вы можете повторно использовать это из любого пользовательского интерфейса, который вы хотите. Просто убедитесь, что вы не делаете там ничего специфичного для пользовательского интерфейса (не открываете диалоговые окна и т. Д.).