Question

Nous avons une grande application ASP (ASP classique) et nous aimerions la convertir en .NET afin de pouvoir travailler sur de nouvelles versions. Cela n’a aucun sens de continuer à utiliser ASP car il est obsolète et nous ne voulons pas le réécrire à partir de zéro (Joel Spolsky vous dit pourquoi ).

Existe-t-il un moyen de le convertir automatiquement d’ASP en ASP.NET?

Était-ce utile?

La solution

Eh bien, J'avais l'habitude de travailler pour l'entreprise où toutes les applications Web étaient des ASP classiques. Lorsque la décision de migrer vers .NET a été prise, nous avons dû trouver un moyen de transformer 168 (!) Applications Web en ce nouveau cadre. J’ai essayé tous les outils disponibles à l’époque pour le faire et tout a échoué.

Le meilleur moyen est de créer un nouveau serveur Web et de commencer à partir de zéro. Ainsi, vous pourrez être sûr que la mise à niveau se fera rapidement et fonctionnera sans hick-up en raison de la nouvelle intégration. Vous pourrez choisir les fonctionnalités et les apparences visuelles à conserver et celles à modifier. Ne perdez pas votre temps à utiliser des outils automatiques pour mettre à niveau vos anciens fichiers / sites ASP vers la plate-forme NET. Jusqu'ici, aucun n'a fonctionné correctement.

De plus, si vous avez une base de données en back-end, vous rencontrerez des problèmes de connexion à celle-ci à partir d'applications Web.

Autres conseils

Même s’il existe des outils pour convertir entre ASP classique et ASP.NET, ils ne produiront pas de très bons résultats: les deux environnements sont tout simplement trop différents. Un rapide Google donne quelques résultats, principalement du "nous laisserons nos gars en Inde le faire" variété.

Mon conseil serait de ne pas toucher votre code ASP existant pour l'instant. L'environnement d'exécution sera pris en charge par Microsoft dans un avenir prévisible. Il n'y a donc pas de besoin urgent de migrer. Commencez plutôt à travailler sur de nouvelles fonctionnalités dans ASP.NET. Ainsi, vous ne serez plus retenu par les concepts hérités et pourrez utiliser la fraîcheur offerte par le Framework (y compris des éléments tels que ASP.NET MVC) de quelque manière que ce soit. en forme.

Bien entendu, votre nouveau code devra fonctionner avec l'environnement ASP existant. Le partage de l'état de session entre ASP et ASP.NET sera très probablement l'un des vos premières exigences, mais vous identifierez bientôt plus de problèmes de ce type.

La solution adaptée à ces problèmes dépend entièrement de votre code actuel et de vos exigences: vous pourrez parfois envelopper le code .NET dans un objet COM afin que celui-ci soit utilisé par votre code ASP; être la solution.

Cependant, en moyenne, l'approche "deux mondes" devrait être tout à fait réalisable et vous permettre de développer de nouvelles fonctionnalités intéressantes sans avoir à vous soucier de votre code hérité.


Ajout de décembre 2009 à la réponse initiale: Nous venons de découvrir le compilateur ASP Classic , qui est un compilateur VBscript maintenu activement qui convertit les pages ASP classiques en code s'exécutant de manière native sur ASP.NET. Il possède plusieurs fonctionnalités intéressantes, telles que la possibilité de l'utiliser comme ViewEngine personnalisé d'ASP.NET MVC. Ainsi, malgré son statut bêta, il semblerait intéressant de garder un œil sur ...

Microsoft a publié dans un article sur MSDN un article sur Migration de pages ASP vers ASP.NET . En gros, ils vous conseillent d'installer .net sur votre ordinateur / serveur et de transformer une page à la fois. ASP et ASP.NET peuvent coexister, vous pouvez donc renommer chaque page en "aspx". comme vous allez. Notez cependant que l'état de session et l'état d'application ne sont pas partagés entre les pages ASP et ASP.NET (voir La réponse de @ mdb pour résoudre ce problème.)

Il existe également l'Assistant de migration d'ASP à ASP.NET , mais je ne suis pas sûr que le projet / programme soit toujours actif. Vous pouvez l'essayer en téléchargeant à partir de cette page:

http://www.asp.net/ téléchargements / archivés / assistants-migration / asp-to-aspnet /

gmStudio est un outil de mise à niveau complet de VB6 / ASP / COM vers .NET. Il peut lire, analyser, interpréter, réécrire et restructurer (sous forme de C # ou de VB.NET) des pages individuelles ou des sites entiers.

La technologie est en plein développement depuis 2007 et nous l’avons utilisée pour nous aider à réécrire des sites allant de quelques centaines de pages à des milliers de pages.

L'outil est approuvé sur MSDN ici.

Une (vieille) vidéo de démonstration est sur ScreenCast ici. (J'ai vraiment besoin de mettre à jour cette ! Jusque-là, faites-le moi savoir si vous voulez une démo en direct pour voir la dernière.)

Il y a encore beaucoup à dire. contactez-nous si vous êtes intéressé.

Avertissement: je travaille pour les grandes migrations.

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