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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
2 464
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

Насколько интенсивно вы используете библиотеки классов и вещи, которые можно считать «опасными», например pinvoke, доступ к файловой системе и System.Diagnostics.Process?

К счастью, на самом деле это не так. Настоящая проблема с безопасностью приложения заключается в том, что кто-то может изменить javascript (с помощью чего-то вроде greasemonkey) и сделать наши правила работы приложения бесполезными.

kemiller2002 15.09.2008 21:27

Перенести код из 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 и постепенно переносить приложение. Пользовательский интерфейс, который вы построили бы с нуля на основе этих сервисов.

Удачи!

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