Переносимость веб-приложений .NET в SilverLight - PullRequest
1 голос
/ 15 сентября 2008

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

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

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

Ответы [ 3 ]

1 голос
/ 15 сентября 2008

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

0 голосов
/ 16 сентября 2008

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

Удачи!

0 голосов
/ 15 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...