سؤال

لدينا تطبيق ASP (ASP كلاسيكي) كبير ونرغب في تحويله إلى .NET للعمل على إصدارات أخرى.ليس من المنطقي الاستمرار في استخدام ASP لأنه قديم، ولا نريد إعادة كتابته من الصفر (يخبرك جويل سبولسكي) لماذا).

هل هناك طريقة لتحويله من ASP إلى ASP.NET تلقائيا؟

هل كانت مفيدة؟

المحلول

حسنًا ، اعتدت أن أعمل لدى الشركة حيث كانت جميع تطبيقات الويب كلاسيكية ASP.عندما تم اتخاذ القرار بالانتقال إلى .NET، كان علينا إيجاد طريقة لتحويل 168 (!) من تطبيقات الويب إلى هذا الإطار الجديد.لقد جربت جميع الأدوات المتاحة في ذلك الوقت للقيام بذلك وفشلت جميعها.

أفضل طريقة هي إنشاء خادم ويب جديد والبدء من الصفر، وبهذه الطريقة يمكنك التأكد من أن الترقية ستحدث بسرعة وستعمل دون أي تأخيرات بسبب التكامل القديم والجديد.ستكون قادرًا على اختيار الوظائف والمظهر المرئي الذي تريد الاحتفاظ به وأي مظهر تريد تغييره.لا تضيع وقتك في استخدام الأدوات التلقائية لترقية ملفات/مواقع ASP القديمة إلى منصة NET.لم يعمل أي منها بشكل صحيح حتى الآن.

علاوة على ذلك، إذا كانت لديك قاعدة بيانات في الخلفية، فسوف تواجه مشكلة في الاتصال بها من تطبيقات الويب.

نصائح أخرى

حتى لو كانت هناك أدوات للتحويل بين ASP الكلاسيكي وASP.NET، فلن تؤدي إلى نتائج جيدة جدًا:البيئتان مختلفتان تمامًا.يُظهر محرك بحث Google سريعًا بعض النتائج، معظمها من مجموعة متنوعة من عبارة "سنطلب من رجالنا في الهند القيام بذلك".

نصيحتي هي عدم لمس رمز ASP الموجود لديك في الوقت الحالي.ستدعم Microsoft بيئة التشغيل في المستقبل المنظور، لذلك ليست هناك حاجة ملحة للترحيل.بدلاً من ذلك، ابدأ العمل على وظائف جديدة في ASP.NET:بهذه الطريقة، لن تعيقك المفاهيم القديمة، ويمكنك استخدام الروعة الجديدة التي يوفرها إطار العمل (بما في ذلك أشياء مثل ASP.NET MVC) بأي طريقة تراها مناسبة.

وبطبيعة الحال، سوف تحتاج التعليمات البرمجية الجديدة الخاصة بك إلى العمل مع بيئة ASP الموجودة. مشاركة حالة الجلسة بين ASP وASP.NET من المرجح أن يكون أحد متطلباتك الأولى، ولكنك ستحدد قريبًا المزيد من المشكلات المشابهة.

سيعتمد الحل "الصحيح" لمثل هذه المشكلات بشكل كامل على التعليمات البرمجية والمتطلبات الحالية لديك:في بعض الأحيان، ستتمكن من تغليف تعليمات NET البرمجية في كائن COM لاستخدامها بواسطة تعليمات ASP البرمجية الخاصة بك، وفي بعض الأحيان قد يكون النقل/الترحيل الجزئي هو الحل.

ومع ذلك، في المتوسط، يجب أن يكون نهج "العالمين" ممكنًا تمامًا، ويسمح لك بتطوير ميزات جديدة مثيرة دون الحاجة إلى القلق بشأن التعليمات البرمجية القديمة الخاصة بك.


إضافة ديسمبر 2009 إلى الإجابة الأصلية: فقط جاء عبر مترجم ASP الكلاسيكي, ، وهو برنامج التحويل البرمجي VBscript الذي تتم صيانته بشكل نشط والذي يحول صفحات ASP الكلاسيكية إلى تعليمات برمجية يتم تشغيلها أصلاً على ASP.NET.يحتوي على العديد من الميزات الرائعة، مثل القدرة على استخدامه كمحرك ViewEngine مخصص لـ ASP.NET MVC، لذلك على الرغم من حالته التجريبية، يبدو بالتأكيد أنه يستحق مراقبته...

لدى Microsoft مقالة على MSDN تتحدث عنها ترحيل صفحات ASP إلى ASP.NET.يطلبون منك بشكل أساسي تثبيت .net على جهاز الكمبيوتر/الخادم الخاص بك وتحويل صفحة واحدة في كل مرة.يمكن أن يتواجد ASP وASP.NET معًا حتى تتمكن من إعادة تسمية كل صفحة إلى "aspx" أثناء التنقل.ومع ذلك، يجب ملاحظة أن حالة الجلسة وحالة التطبيق غير مشتركتين بين صفحات ASP وASP.NET (انظر إجابة @mdb لحل هذه المشكلة.)

يوجد ايضا مساعد الترحيل من ASP إلى ASP.NET, ، لكنني لست متأكدًا من أن المشروع/البرنامج لا يزال نشطًا.يمكنك تجربتها عن طريق التحميل من هذه الصفحة:

http://www.asp.net/downloads/archived/migration-assistants/asp-to-aspnet/

gmStudio عبارة عن أداة ترقية شاملة من VB6/ASP/COM إلى .NET.يمكنه قراءة الصفحات الفردية وتحليلها وتفسيرها وإعادة كتابتها وإعادة هيكلتها (مثل C# أو VB.NET) + الصفحات الفردية أو المواقع بأكملها.

كانت هذه التكنولوجيا قيد التطوير النشط منذ عام 2007 وقد استخدمناها لمساعدتنا في إعادة كتابة المواقع التي تتراوح ما بين بضع مئات من الصفحات إلى آلاف الصفحات.

تمت الموافقة على الأداة على MSDN هنا.

فيديو تجريبي (قديم). على ScreenCast هنا. (أحتاج حقًا إلى تحديث هذا!وحتى ذلك الحين، يرجى إبلاغي إذا كنت تريد عرضًا توضيحيًا مباشرًا للاطلاع على الأحدث.)

هناك الكثير لنقوله، من فضلك اتصل بنا إذا كنت مهتمًا.

تنصل:أنا أعمل في منظمة الهجرات الكبرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top