14 votes

Quel est le moyen le plus simple de convertir asp classic en asp.net ?

Je suis un développeur .Net qui a été chargé de mettre à jour un site web asp classique vers asp.net. Le site fonctionne actuellement au petit bonheur la chance et au chewing-gum, mais il n'y a pas assez de temps ou d'argent pour arrêter la progression et faire une réécriture complète. Bien sûr, il faudra toujours que je sois en mesure de fournir de nouvelles fonctionnalités pendant la mise à niveau.

Quelles stratégies dois-je utiliser pour passer progressivement et en douceur à asp.net ? Dois-je me convertir à une solution .net à un seul niveau et ensuite refactoriser vers une solution multi-tiers appropriée ou dois-je concevoir mes couches de données et d'affaires maintenant ? Dois-je passer directement à la version 3.5 ou est-il plus facile de passer à la version 1.1 et de mettre à jour vers la version 2.0 ou 3.5 par la suite ?

Une conversion complète prendrait probablement de 3 à 5 mois. Il existe également du code 1.1, c'est pourquoi j'envisage de l'utiliser comme point de départ.

13voto

Michael Pryor Points 11198

Ne jetez pas votre code !

C'est la pire erreur que l'on puisse commettre (sur une base de code importante). Voir Ce qu'il ne faut jamais faire, partie 1 .

Vous avez investi beaucoup d'efforts dans ce vieux code et vous avez éliminé de nombreux bogues. Le jeter est une erreur classique de développeur (et une erreur que j'ai commise à plusieurs reprises). Cela vous permet de vous sentir "mieux", comme un nettoyage de printemps. Mais vous n'avez pas besoin d'acheter un nouvel appartement et de nouveaux meubles pour équiper votre maison. Vous pouvez travailler sur une pièce à la fois... et peut-être que certaines choses ont juste besoin d'un nouveau coup de peinture. C'est là que le refactoring entre en jeu.

Pour de nouvelles fonctionnalités dans votre application, l'écrire en C# et l'appeler à partir de votre application ASP . Vous serez obligé d'être modulaire lorsque vous réécrirez ce nouveau code. Lorsque vous en aurez le temps, refaites également des parties de votre ancien code en C# et éliminez les bogues au fur et à mesure. Finalement, vous aurez remplacé votre application par un nouveau code.

Vous pouvez également écrire votre propre compilateur. Nous en avons écrit un pour notre application ASP classique il y a longtemps pour nous permettre de produire du PHP. Il s'appelle Wasabi et je pense que c'est la raison pour laquelle Jeff Atwood pensait que Joel Spolsky avait perdu la tête. En fait, nous devrions peut-être l'expédier, et vous pourriez l'utiliser.

Il nous a permis de passer l'ensemble de notre base de code à .NET pour la prochaine version, tout en ne réécrivant qu'une très petite partie de notre source. Beaucoup de gens nous ont traités de fous, mais écrire un compilateur n'est pas si compliqué, et cela nous a donné beaucoup de flexibilité.

De même, s'il s'agit d'une application interne uniquement, laissez-la. Ne la réécrivez pas - vous êtes le seul client et si l'exigence est de la faire fonctionner en asp classique, vous pouvez répondre à cette exigence.

11voto

Thomastsl Points 13

Ayant été longtemps un programmeur ASP classique, et maintenant un développeur ASP.NET, je prendrais le temps de l'architecturer correctement dans le cadre 2.0 (3.5 si vous voulez/avez besoin des fonctionnalités).

Dans mon dernier emploi, nous avions un grand nombre d'applications asp classiques très mal construites que nous étions en train de reconstruire, et l'approche "nuke and pave" a été la plus fructueuse. Utilisez l'application classique existante comme spécification fonctionnelle et wireframes, et construisez vos tâches et spécifications techniques à partir de cela.

1voto

hometoast Points 6536

Combien de temps prendrait une conversion/réécriture complète ? Cela dépendra également de la manière dont vous avez structuré votre projet initial.

I peut La réponse est que vous devriez simplement viser la v2.0 (3.5 si vous voulez/avez besoin de ses fonctionnalités) dès le début. Il n'est pas nécessaire de se soumettre à la version 1.1 du framework.

1voto

Kimvais Points 123

0voto

Codewerks Points 3284

Vous pouvez vous tourner vers le nouveau framework ASP.NET MVC. Le niveau de flexibilité est incroyable et le style de codage est légèrement plus proche de l'approche ASP classique, bien qu'avec une bien meilleure séparation de l'Église et de l'État.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X