Question

La société dans laquelle je travaille a créé cette application qui est au cœur de notre activité et qui repose sur le navigateur Web pour appliquer certaines "règles". cela sans eux rend l'application un peu inutile pour nos clients. Désolé de devoir faire preuve de circonspection, une NDA avec une foule d'autres choses m'empêche de dire exactement quelle est l'application. JavaScript contrôle essentiellement certains événements chronométrés (qui doivent être précis au moins à la seconde près), ce qui rend difficile le contrôle avec ajax / postbacks, etc.

Ma question est la suivante: à quel point est-il difficile de convertir une application ASP.NET en SilverLight en supposant que la majeure partie du code est réellement une logique métier C # et non des contrôles asp.net? J'ai juste fini d'écouter Deep Fried et les personnes atteintes de sclérose en plaques donnent l'impression que ce n'est pas si grave que ça. Est-ce vrai pour les applications Web ou principalement Win32?

Je sais que le front-end asp.net est fondamentalement différent de SilverLight, mais il y a un tas de code C # que j'aimerais ne pas avoir à réécrire si nécessaire. Je suppose que le remplacement du code javascript par Silverlight est trivial (je connais une mauvaise hypothèse, mais je dois commencer quelque part) car il traite des événements chronométrés, je ne suis donc pas vraiment préoccupé par cela. Je dois trouver une solution pour atténuer ce problème, et j'espère que c'est un compromis entre: ne rien faire et nous regarder se faire pilonner par nos clients, et réécrire la demande dans un format plus sécurisé qu'une page Web. avec seulement une validation en amont. Quelqu'un a-t-il essayé de convertir du code ASP.NET en un projet SilverLight?

Était-ce utile?

La solution

Si le gros de votre application se trouve sur le back-end, vous devriez toujours pouvoir garder la majorité du code intact et ne remplacer que le front-end. Toutefois, Silverlight nécessite une compréhension de WPF, qui est radicalement différente de celle du HTML / JS actuellement utilisé par votre application. Je dirais que si votre interface utilisateur est assez mince, il devrait être assez facile de porter à Silverlight, mais plus la logique commerciale est grande, plus ce sera difficile.

Autres conseils

Dans quelle mesure utilisez-vous les bibliothèques de classes et des éléments pouvant être considérés comme "dangereux", tels que pinvoke, l'accès au système de fichiers et System.Diagnostics.Process?

Le portage du code depuis ASP.NET vers Silverlight n’est pas une tâche facile. Comme le souligne Nate, cela dépend du nombre d'applications ASP.NET basées sur AJAX et du nombre de contrôles de serveur.

Silverlight est une technologie côté client complète, ce qui signifie que tout est exécuté sur le client dans le navigateur. ASP.NET est une technologie de serveur et repose sur un modèle de requête / réponse. Étant donné que ces deux paradigmes sont complètement différents, ce n'est pas un port droit.

Cependant, comme ASP.NET est juste du HTML et du HTTP POST de données de formulaire, les utilisateurs ont effectué des expériences dans lesquelles ils ont ajouté une application Silverlight directement au-dessus d'une page ASP.NET et construit manuellement la requête HTTP POST en renvoyant à la main. les données exactes de l'application ASP.NET. C'est presque comme si vous faisiez "grattage d'écran". pour votre propre application. Cela pourrait fonctionner, mais ne serait pas optimal. Vous n'obtiendrez pas d'augmentation des performances car votre application ASP.NET devrait passer par un cycle complet de pages à chaque demande.

Une meilleure solution consiste à commencer à intégrer les fonctionnalités de l'utilisateur dans l'application APS.NET en tant que services Web. Vous pouvez ajouter ces services à vos pages ASPX et transférer progressivement l'application. L’interface utilisateur à construire à partir de la base, basée sur ces services.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top