2016-07-05 14 views
1

私はASP.NET MVC 5で書かれAzureでホストされているWebサイトを管理しています。メンテナンスの難しいレガシーアプリケーションなので、新しいコードベースとASP.NET Coreフレームワークに移行するように頼まれました。AzureでホストされているASP.NET Webサイトを透過的に分解する

私たちの目標は、次のとおりです。

    1. 移行1ページには、私の最初の考えは仮想を使用していたのVisual Studioの「F5デバッグ」経験

    を失うことはありません。アプリケーション/ディレクトリは、AzureとIIS Expressの両方でサポートされています。たとえば、仮想パスを使用して、/Shopページを新しいWebサイトに指定することです。それで準備ができたら、/Teamページなどを移動してください。マイグレーションが完了するまで、マイグレーションされたエンドポイントごとに仮想パスを追加します。

    これを達成するために、新しいASP.NET Coreプロジェクトを作成しました。applicationhost.configファイルを編集し、Visual Studioから複数のプロジェクトを開始しようとしましたが、運が悪いです。

    私は同じポートバインディングで<site>タグ内に2つのアプリケーションと<application>の2つのアプリケーションを設定しようとしましたが、いつもエラーが発生します。デバッグを開始できないか(Can't connect to IIS ExpressまたはThe object invoked has disconnected from its clientsメッセージ)、または502エラーが発生します。

    これがAzureで動作するかどうかわかりませんが、適切な開発経験がなければこの道を進むことはできません。

    他にも優れた解決策がありませんか?これが良い解決策であれば、Visual Studioでこの作業を行う方法はありますか?

  • +0

    まず、ASP.NET MVC 5からASP.NETコアへの移行や移行ができないことを理解する必要があります。このプロセスは書き換えと呼ばれます。プロジェクト全体を書き直す必要があります。 – Issac

    +0

    私はしますが、明確にしてくれてありがとう!私は新しいプロジェクトを作成し、一度に各ページを書き直したいと思います。一度にすべてのことを行うための開発コストはありません。 –

    答えて

    0

    各セクションごとに1つ、Azureで複数の新しいWebサイトを作成することを検討します。たとえば、Shopで作業を始めると、元のソリューションにほとんど空のコントローラを残して、新しいSales Webサイトにリダイレクトします。このアプローチを使用すると、必要に応じて、サイトの個々の部分を一度に、かつ将来的に拡大することができます。同じアプリサービス環境内で複数のサイトをホストすることができます(複数のプロセスに分かれて余分な費用がかからないことに注意してください)。

    ベストオブ運:

    +0

    意味があります!私は新しいコントローラのエンドポイントを新しいWebサイトのプロキシとして使用して、クライアントからこれを隠すことができると思いますか? 2つの異なるドメイン/サブドメインを持つケースを作るのは難しいでしょう。 編集:また、新しいWebサイトに保存されているcssやjsファイルなどのリソースへのリクエストをプロキシする必要がありますか? –

    +0

    一般的で静的なリソースとして、AzureのCDN機能の使用を検討してください。 Scott Hanselmanは、[ここ](http://www.hanselman.com/blog/PennyPinchingVideoMovingMyWebsitesImagesToTheAzureCDNAndUsingACustomDomain.aspx)に素晴らしい記事を書いています。複数のホスト名になると、サイトが*維持できないために書き換えを保証するだけの大きさであれば、それ自体は分割するための良い議論になります。チームサイトはセールスサイトと同じ*であるべきではないと主張することができます。しかし、実際のコードを証明するために必要な呼び出し/引数です。 –

    +0

    私はこれが良いアドバイスだと思ったので、これを解決済みとしてマークします。助けてくれてありがとう!私は後で戻ってきて、それがどのように進むかに基づいてフィードバックを与えるかもしれません。 –

    関連する問題