отобразить C # winform в HTML [duplicate]

7
задан Abe Miessler 7 December 2010 в 17:39
поделиться

5 ответов

Это не то, что вы можете сделать автоматически.

Фокус в том, что в winforms и webforms форма представлена ​​простым старым классом. Однако каждый раз, когда вы обрабатываете событие для своей формы в веб-форматах asp.net, вы работаете с совершенно новым экземпляром класса. Microsoft столкнулась с большими трудностями, чтобы как можно больше попробовать справиться с этой проблемой, но, в конце концов, просто не стоит думать о веб-форме в тех же терминах, что и winform.

Итак, вы может определенно принять приложение winforms и переписать его для использования веб-форм, но это будет именно так: переписать.

8
ответ дан Joel Coehoorn 31 August 2018 в 21:31
поделиться

Да, это возможно. Если вы разработали приложение достаточно хорошо, должно быть относительно легко преобразовать приложение Win Forms в приложение веб-форм, просто заменив слой пользовательского интерфейса и заменив его. Вы повторно используете уровни логики и данных (в которых все функциональные возможности будут).

Очевидно, что вам нужно написать новый уровень пользовательского интерфейса с нуля, но если логический уровень написан хорошо достаточно, чтобы не было слишком много работы по сравнению с записью всего приложения с нуля.

Однако есть некоторые ошибки, даже если у вас очень хорошо написанное приложение. Логический уровень может принимать заявленное состояние, и в этом случае он может полагаться на ленивую загрузку. В веб-приложении у вас есть модель без состояния, которая выполняется по запросам и ответам. В этом случае вы точно знаете, что вам нужно, и можете загружать только нужные вам биты, а не другие вещи, которые могут понадобиться позже ... потому что позже будет другой цикл запроса / ответа и все данные, которые вы собирать сейчас будет удалено, как только будет завершен текущий ответ.

Недавно я поставил логику приложения, которое изначально было WinForms в MVC, и самый большой барьер для получения быстродействующей скорости заключается в том, что, хотя и достаточно хорошо написанный, логический слой принял среду с сохранением состояния. Это же приложение также переписано для WPF (другая среда с сохранением состояния) без большого количества проблем.

3
ответ дан Colin Mackay 31 August 2018 в 21:31
поделиться

просто комментарий больше: переписывание зависит от того, сколько логики находится в самой форме. С надлежащим образом разделенными проблемами, это только вопрос подключения другого пользовательского интерфейса к бизнес-слою.

Проблема заключается в том, что 90% приложений не являются чем-то более сложным CRUD UI (нет реальная бизнес-логика) ...

1
ответ дан Denis Biondic 31 August 2018 в 21:31
поделиться

Добавляя к предыдущим ответам, обратите внимание, что есть некоторая функциональность winform, которая просто не существует в веб-форме, поэтому она зависит от того, что именно находится в winform в первую очередь.

2
ответ дан RogerG 31 August 2018 в 21:31
поделиться

Преобразование настольного приложения в веб-приложение имеет несколько проблем:

  • Доступ к оборудованию
  • Вызовы Windows API
  • Управление состоянием приложения
  • Доступ к файловой системе
  • Управление доступом
  • Использование пользовательских интерфейсов UI / UX / управления на рабочем столе

Там являются опциями для автоматического преобразования настольных приложений, они могут преобразовывать как пользовательский интерфейс, так и код приложения:

Даже при использовании автоматических средств миграции в большинстве случаев вам придется выполнять значительную ручную работу, чтобы получить приложение, работающее так же, как и оригинальное.

Некоторые из этих инструментов помогут с разными целями, первая поможет вам конвертировать только пользовательский интерфейс и WebForms, t последние два из них будут генерировать ASP.NET MVC, один из которых использует пользовательскую среду выполнения и набор библиотек, а другой - с обычными библиотеками HTML / JS / CSS, такими как Kendo MVVM, Kendo UI, AngularJS или Bootstrap. Эти инструменты обеспечат решение, которое будет быстрее, чем писать приложение в сети с нуля, и предоставит решения или, по крайней мере, рекомендации для решения задач, упомянутых ранее. Тем не менее, будут некоторые отличия от приложения, предназначенного для Интернета, просто потому, что архитектуры различны, и обычно способ написания кода для настольного приложения предполагает то, что не может быть принято для веб-сайта.

Отказ от ответственности: я работаю на Mobilize.Net, который создал WebMAP2.

1
ответ дан willvv 31 August 2018 в 21:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: