Переносимость веб-приложения .NET в SilverLight

StackOverflow https://stackoverflow.com/questions/64575

  •  09-06-2019
  •  | 
  •  

Вопрос

Компания, в которой я работаю, создала это приложение, которое является основой нашего бизнеса и использует веб-браузер для обеспечения соблюдения определенных "правил", без которых приложение становится бесполезным для наших клиентов.Извините за необходимость быть осмотрительным, NDA наряду с множеством других вещей не позволяет мне точно сказать, что это за приложение.По сути, JavaScript управляет определенными временными событиями (которые должны быть точными хотя бы с точностью до секунды), которые затрудняют управление с помощью ajax / postbacks и т.д.

Мой вопрос заключается в следующем:насколько сложно преобразовать ASP.NET приложение в SilverLight, предполагая, что большая часть кода на самом деле представляет собой бизнес-логику C #, а не asp.net элементы управления?Я только что закончил слушать Deep Fried bytes, и люди из MS говорят, что это звучит так, будто на самом деле это не так уж и важно.Верно ли это для веб-приложений или в основном для Win32-приложений?

Я знаю, что интерфейс asp.net принципиально отличается от SilverLight, но есть куча кода на C #, который я бы не хотел переписывать при необходимости.Замена кода javascript на silverlight, которую я предполагаю, тривиальна (я знаю плохое предположение, но я должен с чего-то начать), поскольку она имеет дело с временными событиями, поэтому меня это не особо волнует.Мне нужно найти решение о том, как смягчить эту проблему, и я надеюсь, что это промежуточное звено между:ничего не делайте и наблюдайте, как нас избивают наши клиенты, и перепишите все приложение во что-нибудь более безопасное, чем веб-страница с проверкой только внешнего интерфейса.Кто-нибудь пытался преобразовать ASP.NET код в проект SilverLight?

Это было полезно?

Решение

Если основная часть вашего приложения находится на серверной части, вы все равно сможете сохранить большую часть кода нетронутым и заменить только интерфейс.Однако Silverlight требует понимания WPF, который кардинально отличается от HTML / JS, который в настоящее время использует ваше приложение.Я бы сказал, что если ваш пользовательский интерфейс довольно тонкий, его должно быть довольно легко перенести в Silverlight, но чем больше бизнес-логики в пользовательском интерфейсе, тем сложнее это будет.

Другие советы

Насколько активно вы используете библиотеки классов и вещи, которые могут считаться "опасными", такие как pinvoke, доступ к файловой системе и System.Диагностика.Процесс?

Перенос кода с ASP.NET на Silverlight - непростая задача.Как Нейт моменты отключения электроэнергии зависит от того, сколько приложений ASP.NET основано на AJAX, и сколько базируется на серверных элементов управления.

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

Однако, поскольку ASP.NET - это просто HTML и HTTP POST данных формы, люди проводили эксперименты, в которых они добавляли приложение Silverlight непосредственно поверх страницы ASP.NET и вручную создавали запрос HTTP POST, вручную отправляя обратно точные данные ASP.NET прикладная работа.Это почти то же самое, что выполнять "очистку экрана" для вашего собственного приложения.Это могло бы сработать, но не было бы оптимальным.Вы не получите увеличения производительности, поскольку вашему ASP.NET приложению пришлось бы проходить полный цикл обработки страницы при каждом запросе.

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

Удачи вам!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top