2012-03-16 14 views
0

私が関わっている今後のプロジェクトに関する提案を探すには、VB.NETでプログラミングされたIIS 6.0上で動作する既存のASP.NETアプリケーション。新しいプロジェクトのアドバイス:既存のASP.NETアプリケーションへの追加機能

今後の開発を支援するために、クライアントは追加機能を将来的に証明したいと考えています。理想的には、C#で書かれたIIs 7.5と.NET 4で動作するASP.NET MVC3を使用したソリューションを推進したいと言ってきました。このソリューションは、現在のWebポータルへのシームレスな追加として機能し、たぶん追加のタブ付きページとして表示されます。

しかし、それらは完全に別々のWebアプリケーションになります。どちらが重要か

私が予見できる主な問題は、最初にasp.net Webアプリケーションと新しいアプリケーションの間でセッションの詳細を共有することです。特に、セッション状態を維持すること(そして、IISがアプリケーションの1つでタイムアウトしないようにすること)に関して。また、2つの「アプリ」を結合することは私の頭に問題があるように見えますが、これは私が恐れるよりはるかに単純かもしれません。

誰かがアイディアを持っていると言ったら、これらの2つの問題についての提案をお願いします。これまでのところ、私は以下のソリューションを作ってみた

は、彼らがひどいかないこと:

1)は、既存のコードベース(ではない偉大なオプション)に新しい機能を埋め込みます。これは、今後のアップグレードの可能性を失うことを意味し、MVCフレームワークを利用してより良いオブジェクト指向の規約に従わないことを意味します。

2)iFrameを使用して別個のMVC3アプリのカミソリページにリンクします(私が現在好んでいるもの)。すべての新技術の使用を可能にしますが、欠点はセッションデータを共有することです。いずれかのiFrameの "属性"(これは可能ですか?)セッション状態をdbに永続化することによってですか? (遅い?)、またはアプリケーション/セッションデータをプッシュ/プルするためのアプリケーション間の何らかの種類のWebサービスのやりとりですか?

大変ありがとうございます。

答えて

0

私は、C#とMVCが「やり方」であることに同意しますが、残念ながら2つのアプリケーションを混在させると、頭痛の種があります。おそらく既にこのような「バンド・アシスタンス」の洞察を想像することができます。

既存のものをC#にリビルドする際にどのような影響がありますか?おそらくあなたは完全なアップグレードを提案することができます。クライアント自身は未来校正の美徳を賞賛しているように見えます。したがって、これが道になるでしょう。そして、いいえ、私は "コードコンバータ"の使用を促進するつもりはありませんが、それは本当に難しいことではありません。

次は、「未来」です。クライアントはVB.NETがすぐに消えたり、将来何も処理できないことを心配していますか?正直なところ、これはまれなシナリオです。

私はちょっと心配しましたが、基本的に2つのアプリケーションを組み合わせていると思います。古いものと新しいものを組み合わせると頭痛が発生します。これは、古いサイトをC#/ MVCに移行し、追加の機能を追加することで解決できます。確かに、これは今日、大きなコミットメントのように見えるかもしれませんが、さらに道のりを進むと、配当を支払うことになります。

+0

契約書の現在の送金では、既存のアプリのアップグレードはできません。私がする必要があるのは、潜在的な頭痛を隔離し、回避策を提供することです – M05Pr1mty

0

現在のサイトを.NET 4.0にアップグレードできる場合は、既存のアプリケーションを拡張しない理由はありません。

MVCとWebフォームの混合を止めることは何もありません(実際にこれを行う方法についてはいくつかの記事があります)。 VB.NETとC#の混在を止めるものは何もありません(または、私が知っている限り、VB.NETでMVCをやめさせることはできません)。

iFramesを使用するメリットを納得させるには、非常に努力する必要があります。とても厳しい。あなたは2つのアプリケーションをフォルダごとに分割して実行するメリットを私に説得することができますが、正直言って私は既存のサイトをアップグレードしてそこからビルドするほうがずっと幸せです。

+0

Moo-Juiceと同じコメントです。サイトをアップグレードすることはできません。したがって、私たちが持っているものを扱うための問題と解決策は、 – M05Pr1mty

+0

、私はそれを理解していない。どういたしまして。現在のアプリケーションのソースにアクセスできないと言っていますか?あなたはセッションの同期に詰め込まれるつもりです...私は、外から見ると無意味に見えるが、何かを変えなければならない旗かもしれない状況に置かれることはよくあることです。 – Murph

+0

正解私はソースにアクセスできません。クライアントはこれをスタンドアロンのアプリとして見ており、追加の機能を提供するために利用されます。セッション同期を維持するために提案されている方法は、アプリケーション間で何らかの形のプッシュ/プル通知を行うウェブサービスか、潜在的にセッション情報をdb(タイムアウトなど)にペリストするものです。それはあなたに実行可能とは思われませんか? – M05Pr1mty

関連する問題