14

私は.Net開発者であり、従来のaspWebサイトをasp.netにアップグレードする任務を負っています。ウェブサイトは現在運と風船ガムで運営されていますが、進行を止めて完全に書き直すのに十分な時間やお金がありません。もちろん、アップグレード中も新しい機能を提供できる必要があります。

asp.netをスムーズに段階的に変更するには、どのような戦略を使用する必要がありますか?単一層の.netソリューションに変換してから、適切な多層ソリューションにリファクタリングする必要がありますか、それとも今すぐビジネスレイヤーとデータレイヤーを設計する必要がありますか?3.5に直接移行する必要がありますか、それとも1.1に移行して、後で2.0または3.5にアップグレードする方が簡単ですか?

完全な変換には、おそらく3〜5か月かかります。既存の1.1コードもいくつかあるので、それを出発点として使用することを検討しています。

4

9 に答える 9

13

コードを捨てないでください!

これは、(大規模なコードベースで)犯す可能性のある最悪の間違いの 1 つです。してはいけないこと、パート 1を参照してください。

あなたはその古いコードに多大な労力を注ぎ、多くのバグを解決してきました。それを捨てるのは、典型的な開発者の間違いです (そして、私は何度もやったことがあります)。春の大掃除のように、気分が「良く」なります。しかし、家を整えるために新しいアパートやすべての新しい家具を購入する必要はありません。一度に作業できるのは 1 つの部屋だけです...新しい塗装作業が必要な場合もあります。したがって、ここでリファクタリングの出番です。

アプリの新しい機能については、C# で記述し、従来の ASP から呼び出します。この新しいコードを書き直すと、モジュール化を余儀なくされます。時間があるときに、古いコードの一部を C# にリファクタリングし、バグを修正していきます。最終的に、アプリをすべて新しいコードに置き換えます。

独自のコンパイラを作成することもできます。PHP を出力できるように、従来の ASP アプリ用にかなり前に作成しました。それはワサビと呼ばれていて、ジェフ・アトウッドがジョエル・スポルスキーがロッカーから離れたと思った理由だと思います。実際には、それを出荷するだけで、それを使用できるかもしれません。

ソースのごく一部を書き直すだけで、次のリリースに向けてコードベース全体を .NET に切り替えることができました。また、多くの人が私たちを狂ったと呼ぶ原因にもなりましたが、コンパイラを書くことはそれほど複雑ではなく、多くの柔軟性を与えてくれました。

また、これが内部のみのアプリである場合は、そのままにしておいてください。書き直さないでください。あなたは唯一の顧客であり、要件がクラシック ASP として実行する必要がある場合は、その要件を満たすことができます。

于 2008-09-19T18:12:06.820 に答える
11

長年の古典的な asp プログラマーであり、現在は ASP.NET 開発者である私は、時間をかけて 2.0 フレームワーク (機能が必要な場合は 3.5) で適切に設計します。

私の最後の仕事では、再構築していた非常に悪いビルドの古典的な ASP アプリが多数ありましたが、「核と舗装」のアプローチが最も成功しました。既存のクラシック アプリを機能仕様とワイヤーフレームとして使用し、そこからタスクと技術仕様を構築します。

于 2008-09-19T05:53:52.377 に答える
1

完全な変換/書き換えにはどのくらい時間がかかりますか?また、元のプロジェクトをどのように構成したかにも依存します。

最初からv2.0(機能が必要な場合は3.5)をターゲットにする必要があると答えることができます。フレームワークの1.1に自分自身を従わせる必要はありません。

于 2008-09-18T19:02:15.017 に答える
1

これらのリンクを試してください

ASP からの移行

重要な考慮事項

ASP から ASP.NET への変換

ASP から ASP.NET への移行ガイド

于 2008-09-18T19:04:19.397 に答える
0

新しいASP.NETMVCフレームワークを確認することをお勧めします。柔軟性のレベルは驚くべきものであり、コーディングスタイルは、教会と州の分離がはるかに優れているものの、ASPの古典的なアプローチに少し似ています。

于 2008-09-18T19:10:51.703 に答える
0

Snitz Forums (www.snitz.com) を参照してください。現在は ASP ですが、ASP.NET への移植はほぼ完了しています。両方のコード ベースを参照できるので、それらがどのように行われているかを理解するのに役立つかもしれません。

于 2008-09-18T20:14:20.663 に答える
0

また、従来の ASP から ASP.NET への段階的な移行にも取り組んでいます。最初のフェーズでは、いくつかの一般的なロジックを ASP インクルードから、COM 相互運用機能に公開されている .NET アセンブリに移行して、従来の ASP と ASP.NET の両方から呼び出すことができるようにします。.NET アセンブリへの移行後の動作を確認するために、 ASPUnitを使用していくつかのテストを作成しました (より安全なリファクタリングの利点が追加されました)。コア ロジックが .NET に取り込まれたら、ASP.NET で新しいページを作成し、個々の ASP ページを独自のペースで ASP.NET に移行することができます。

1.1 よりも .NET 2.0 または 3.5 をお勧めします。ASP.NET MVC は魅力的なアップグレード パスのように見えます。

于 2008-11-16T10:21:34.793 に答える
0

Microsoft は 2008 年 10 月 14 日に .NET Framework の v 1.1 のサポートを終了するため、.NET 1.1 に移行することは避けたいと思います。延長サポートは 2013 年 10 月 8 日まで実行されますが、通常、購入には費用がかかります。バグやセキュリティホールは対処されず、あなたの問題です.

http://support.microsoft.com/lifecycle/?LN=en-us&x=11&y=10&p1=1249

ポール

于 2008-09-18T20:55:54.713 に答える
0

それを行う最も簡単な方法は、最初に頭に飛び込むことです。asp.net の書籍を入手して、ビジュアル スタジオに飛び込みましょう。例を実行し、それで遊んで、自分で楽しいものを構築してください。することで学びます。

于 2008-09-19T18:13:57.690 に答える