Question

Je suis un développeur .Net chargé de mettre à niveau un site Web classique en asp en asp.net. Le site Web utilise actuellement de la chance et de la gomme à mâcher, mais il n’ya ni suffisamment de temps ni d’argent pour arrêter les progrès et procéder à une réécriture complète. Bien entendu, je devrai toujours être en mesure de fournir de nouvelles fonctionnalités lors de la mise à niveau.

Quelles stratégies dois-je utiliser pour effectuer un changement progressif en douceur vers asp.net? Devrais-je convertir en une solution .net à un seul niveau et ensuite refactoriser en une solution à plusieurs niveaux appropriée ou devrais-je concevoir mon entreprise et mes couches de données maintenant? Dois-je passer directement à la version 3.5 ou est-il plus facile de passer à la version 1.1 et de passer à la version 2.0 ou 3.5 après?

Une conversion complète prendrait probablement entre 3 et 5 mois. Il existe également du code 1.1, raison pour laquelle j’envisage de l’utiliser comme point de départ.

Était-ce utile?

La solution

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

Lors de mon dernier emploi, nous avions reconstruit une très grande quantité d'applications ASP classiques que nous étions en train de reconstruire, et le programme "Nuke and Pave". L’approche a été la plus réussie. Utilisez l’application classique existante en tant que spécification fonctionnelle et structure filaire, puis créez vos tâches et spécifications techniques à partir de cela.

Autres conseils

Ne jetez pas votre code!

C’est la pire erreur que vous puissiez commettre (sur une base de code volumineuse). Consultez la choses que vous ne devriez jamais faire, première partie .

Vous avez investi beaucoup d’efforts dans cet ancien code et corrigé de nombreux bugs. Le jeter est une erreur classique des développeurs (et une erreur que j'ai souvent répétée). Cela vous fait sentir "mieux", comme un nettoyage de printemps. Mais vous n'avez pas besoin d'acheter un nouvel appartement et tous les nouveaux meubles pour équiper votre maison. Vous pouvez travailler sur une pièce à la fois ... et peut-être que certaines choses nécessitent juste un nouveau travail de peinture. C’est pourquoi la refactorisation entre en jeu.

Pour les nouvelles fonctionnalités de votre application, écrivez-le en C # et appelez-le à partir de votre ASP classique . Vous serez obligé d'être modulaire lorsque vous réécrivez ce nouveau code. Lorsque vous en avez le temps, reformulez des parties de votre ancien code également en C # et corrigez les bugs au fur et à mesure. Finalement, vous aurez remplacé votre application par tout 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 générer du PHP. C'est ce qu'on appelle Wasabi et je pense que c'est la raison pour laquelle Jeff Atwood a pensé que Joel Spolsky était parti de son rocker. En fait, nous devrions peut-être simplement l'expédier, et vous pourrez ensuite l'utiliser.

Cela nous a permis de basculer l'intégralité de notre base de code vers .NET pour la prochaine version en ne réécrivant qu'une très petite partie de notre source. Cela a également amené beaucoup de gens à nous traiter de fous, mais écrire un compilateur n’est pas si compliqué, et cela nous a donné beaucoup de flexibilité.

En outre, s'il s'agit d'une application interne uniquement, laissez-la simplement. Ne le réécrivez pas - vous êtes le seul client et si l'exigence est de l'exécuter en tant qu'asp classique, vous pouvez y répondre.

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

Je peux répondre que vous devez simplement cibler la version 2.0 (3.5 si vous voulez / avez besoin de ses fonctionnalités) depuis le début. Il n'est pas nécessaire de vous soumettre à 1.1 du cadre.

Vous voudrez peut-être consulter 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 classique de l'ASP, bien qu'avec une séparation bien meilleure de l'église et de l'état.

Jetez un coup d’œil aux forums Snitz (www.snitz.com) - ils sont actuellement en ASP, mais le portage vers ASP.NET est presque terminé. Vous pouvez consulter les deux bases de code pour vous donner une idée de la façon dont cela a été fait pour vous aider.

J'éviterais de passer à .NET 1.1 car Microsoft met fin au support de la v 1.1 du .NET Framework le 14/10/2008. Le support étendu dure jusqu'au 08/10/2013, mais son achat est généralement coûteux. Les bugs ou les failles de sécurité ne seront pas résolus et constituent votre problème.

http://support.microsoft.com/ cycle de vie /? LN = fr-us & x = 11 & y; 10 = p1 = 1249

Paul

La meilleure façon de le faire est de sauter la tête la première. procurez-vous des livres asp.net et plongez dans Visual Studio. Faites des exemples, jouez avec, construisez quelque chose d'amusant pour vous-même. Vous apprendrez en faisant.

Je travaille également sur une migration progressive d’ASP classique vers ASP.NET. Notre première phase consiste à migrer une logique commune d’un ASP vers un assemblage .NET exposé à COM Interop afin qu’ils puissent être appelés à la fois par les ASP classiques et par ASP.NET. J'ai écrit des tests à l'aide de ASPUnit pour vérifier le comportement après la migration vers l'assembly .NET (avec l'ajout avantage d’une refactorisation plus sûre). Une fois que la logique de base est dans .NET, nous pouvons commencer à créer de nouvelles pages dans ASP.NET et à migrer des pages ASP individuelles vers ASP.NET à notre propre rythme.

Je recommanderais .NET 2.0 ou 3.5 à la 1.1. ASP.NET MVC ressemble à un chemin de mise à niveau intéressant.

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