2009-03-25 16 views
8

(最終的に)ASP.NET MVCに変換したいアプリケーションがあります。私はすべてのサービスを(ASP.NETに)アップグレードしたいが、現在の機能を実行するために現在のASPのものを使いたいので、新しいフレームワークへの段階的なアップグレードをしながら小さな部分をアップグレードすることができます。このサイトは非常に成熟していないVB6 DLLに大きく依存しているため、最終的にはこれもアップグレードして、現在の機能をWebサービスで置き換える可能性があります。クイックフィックスはありますか、このタスクは3か月+タスクですか?また、これまで考えられていたと確信していますが、MVCの美しさは、どこから始めるのかはわかりませんが、これに取り組む方法があると思います。私はちょうど小さな構成変更を行うことができ、これをASP.NET MVCで動作させることができるこのアプリケーションを(40またはそれ以上の時間で)変換する最も速い方法は何でしょうか?ASP.NET MVC(C#)の従来のASP

答えて

7

短い答えは...できません。古典的なaspとasp.netの違いは、構文だけでなく全体的な設計においてもかなり抜本的です。 MVCは、古典的なaspに似た実装ではありませんが、そのように見えるかもしれません。どのような変換にも時間と思考と努力が必要です。

良いニュースですが、実際にはASP.NETやASP.NET MVCサイトとして設定されているサイトでクラシックaspコードを実行できるので、SxSを実行することができます。そのため、ダクトテープを使用すると、アップグレードされたソリューションを部品ごとに組み合わせることができます。

+0

私は彼らがどのような手段でも似ていると思ったことを暗示したくありませんでした。ありがとうございました。私はVB6 DLLの登録を中止して、それをホットデプロイできるようにする方法があるかどうかをサイドバイサイドオプションで尋ねることはできますか? –

+0

私が知っている限り、あなたはそれを書き直さない限り(少なくとも古典的なVBコードに関しては)DLLを登録する必要があります。 .NETを使用すると、interopの作成とそれをローカルで参照することができますが、それはそれに依存する古典的なコードを助けることにはなりません。 –

3

VB6 DLLをCOM呼び出し可能な.NETアセンブリとして書き換えます。次に、ASPとASP.NETの両方から参照できます。

うまくいけば、大部分の重労働はVB6 DLLにあります。そうであれば、必要に応じてページをASP.NET MVCに移行することができます。セッション間やCookieなど、ページ間の通信を監視する必要があります。 Cookieはそのまま動作しますが、SessionをSql ServerのようなMVCとASPの間で共有可能なものに移動する必要があります。残念ながら、それはASPのSession呼び出しを何か他のもの(おそらく.NETコンポーネントの周りのCOMラッパー)に書き換える必要があります。しかし、検索と置換はそのトリックを行うべきです。

これは、既存のアプリケーションのスパゲッティの量、DLLのロジックとASPの量、移行するページの数にかなり依存しています。

.NET、MVC、および書き直しでは、40時間というのは、2〜3ヵ月がかかる可能性があるとは思いますが、それほど時間がかかりません。

+0

は、開発者、どのようなトレーニングリソースを持っているか、どのようにして取得する必要があるかに依存します。私は上限を6〜8ヶ月に押し上げるだろう –

2

私はかなりの期間、類似のプロジェクトに取り組んできました。私たちは古典的なASPアプリケーションを持っていて、それをASP.Net(WebFormsを使用)に移したかったのです。私たちは.NETで新しいページを追加し、ユーザーを.aspファイルと.aspxファイルの間でリダイレクトするだけで、一度にいくつかのことを行います。 MVCを使って作業することも変わりありません。

私たちが遭遇した最大の問題はセキュリティです。サイトはログインが必要で、セッションはもちろん2人で共有されていません。これを処理するのは、データベースのテーブルに保持していたセッションの一部を永続化し、クエリ文字列でGUIDを渡すことです(ログイン時にこれを1回だけ実行し、セキュリティリスクを軽減するためにデータベースからレコードを削除します)。

関連する問題