(最終的に)ASP.NET MVCに変換したいアプリケーションがあります。私はすべてのサービスを(ASP.NETに)アップグレードしたいが、現在の機能を実行するために現在のASPのものを使いたいので、新しいフレームワークへの段階的なアップグレードをしながら小さな部分をアップグレードすることができます。このサイトは非常に成熟していないVB6 DLLに大きく依存しているため、最終的にはこれもアップグレードして、現在の機能をWebサービスで置き換える可能性があります。クイックフィックスはありますか、このタスクは3か月+タスクですか?また、これまで考えられていたと確信していますが、MVCの美しさは、どこから始めるのかはわかりませんが、これに取り組む方法があると思います。私はちょうど小さな構成変更を行うことができ、これをASP.NET MVCで動作させることができるこのアプリケーションを(40またはそれ以上の時間で)変換する最も速い方法は何でしょうか?ASP.NET MVC(C#)の従来のASP
答えて
短い答えは...できません。古典的なaspとasp.netの違いは、構文だけでなく全体的な設計においてもかなり抜本的です。 MVCは、古典的なaspに似た実装ではありませんが、そのように見えるかもしれません。どのような変換にも時間と思考と努力が必要です。
良いニュースですが、実際にはASP.NETやASP.NET MVCサイトとして設定されているサイトでクラシックaspコードを実行できるので、SxSを実行することができます。そのため、ダクトテープを使用すると、アップグレードされたソリューションを部品ごとに組み合わせることができます。
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ヵ月がかかる可能性があるとは思いますが、それほど時間がかかりません。
は、開発者、どのようなトレーニングリソースを持っているか、どのようにして取得する必要があるかに依存します。私は上限を6〜8ヶ月に押し上げるだろう –
私はかなりの期間、類似のプロジェクトに取り組んできました。私たちは古典的なASPアプリケーションを持っていて、それをASP.Net(WebFormsを使用)に移したかったのです。私たちは.NETで新しいページを追加し、ユーザーを.aspファイルと.aspxファイルの間でリダイレクトするだけで、一度にいくつかのことを行います。 MVCを使って作業することも変わりありません。
私たちが遭遇した最大の問題はセキュリティです。サイトはログインが必要で、セッションはもちろん2人で共有されていません。これを処理するのは、データベースのテーブルに保持していたセッションの一部を永続化し、クエリ文字列でGUIDを渡すことです(ログイン時にこれを1回だけ実行し、セキュリティリスクを軽減するためにデータベースからレコードを削除します)。
- 1. ASP.NET MVC 5従来のルーティング
- 2. ThreadAbortException、従来のASPおよびASP.NET MVCアプリケーション
- 3. 従来のASP .NET WebフォームとMVC
- 4. 従来のASPファイルリスト
- 5. 従来のASP&XML
- 6. 従来のASPフォームフィールド
- 7. C#ASP.NETは、従来のASP Server.CreateObject()に相当します。Exists()
- 8. OpenId DotnetOpenAuth従来のASPサポート
- 9. 従来のASP.NETカスタムコントロールをMVCに変換
- 10. 従来のASP:ログデータベースのエラー
- 11. Response.Writeの従来のASPサブプロシージャコール
- 12. 従来のASPからの移行。 NET MVC to WebApi + Knockout
- 13. 従来のASP ADOシンプルコードエラー
- 14. 従来のASP SQLインジェクション
- 15. 従来のASP Microsoft.XMLHTTP onreadystatechange
- 16. 従来のASPセッションIDクッキーライフタイム
- 17. ASP 0177:従来のASPページで800401f3エラー
- 18. 従来のASPとMVCの混在 - 同じパスの問題
- 19. 従来のASPとASP.Netの間のログインシステムの共有
- 20. 従来のASPページからASP.NETメンバーシップストアドプロシージャにアクセス
- 21. PHPのpack()の従来のASP相当
- 22. 従来のASPファイル共有の懸念
- 23. 従来のASPストアドプロシージャの戻り状況
- 24. Tumblr APIとの従来のASP統合
- 25. 従来のASPアクセスデータベース接続の問題
- 26. 従来のASP - getRows配列のストローク
- 27. 従来のASP:「承認」ヘッダーを取得
- 28. 従来のASP VBScriptオブジェクトを配列
- 29. 従来のASP - 正規表現関数
- 30. WCF Webserviceを従来のaspに統合
私は彼らがどのような手段でも似ていると思ったことを暗示したくありませんでした。ありがとうございました。私はVB6 DLLの登録を中止して、それをホットデプロイできるようにする方法があるかどうかをサイドバイサイドオプションで尋ねることはできますか? –
私が知っている限り、あなたはそれを書き直さない限り(少なくとも古典的なVBコードに関しては)DLLを登録する必要があります。 .NETを使用すると、interopの作成とそれをローカルで参照することができますが、それはそれに依存する古典的なコードを助けることにはなりません。 –