Visual Studioで角度uiルーティングを使用した単一ページアプリケーションを構築しました。このフロントエンドアプリケーションはうまくいきます。ノート MVCアーキテクチャに基づいてこのフロントエンドを構築しないでください。それはangular seed's projectに基づいています。異なるVSソリューションでの角型フロントエンドとC#バックエンド
問題:
今私は、API呼び出しを処理するC#のバックエンドを構築する必要があります。条件は次のとおりです。
- 異なるVisual Studioのソリューションに含まれている必要があります。私のクライアントはフロントエンドを静的にしたいと考えています。たとえば、バックエンドをPythonに変更する場合は、フロントエンドを再利用できます。
- 両方とも同じポートで実行する必要があります。たとえば、フロントエンドはlocalhost:13000で動作します。その後、バックエンドはlocalhost:13000/apiで実行する必要があります。
- Nginxを使用していません。このアプリケーションはユーザーのコンピュータにインストールされ、Nginxのインストールはアマチュアユーザーにとっては難しいです。
考えられる解決策:
- 通常のMVCを構築します。フロントエンドとバックエンドは同じVisual Studioのソリューションにあります。しかし、これは基準#1と衝突する。
- フロントエンドとバックエンドのための別のソリューションを構築します。それぞれ異なるポートで実行され、お互いに通信します。しかし、セキュリティ上の問題があり、それも基準#2と衝突します。
- Nginxを使用して両方のポートを「プロキシ」します。しかしこれは基準#3と衝突する。
- フロントエンドとバックエンドの両方の要求を処理する自己ホスティング型C#サーバーを構築します。今私はDavid's simple web serverに基づいてそれを構築しようとしています。今のところこれは3つの基準すべてを満たしていますが、「String」要求のみを受け入れます。すべての画像とグリフィコンが機能していません。すべてのタイプの要求を受け入れるようにWebサーバーを構成することは、多くの作業になります。
私の質問:
- はこれを行うための簡単な方法はありますか?私はOWINについて少しは読んだことがありますが、それが私がこの問題に必要なものかどうかはわかりません。
- ソリューション#4が最善の方法である場合、Webサーバーを正しく構成する方法に関するガイドがありますか?
- 解決策#4が最良の方法である場合、これのための別のルーティングをどのように処理するのですか?ページにapp.jsで設定したルーティングを使用し、apiを呼び出すときにバックエンドのルーティングのみを使用するようにします。
ありがとうございました。
で、非常に高速で、優れていますa。あなたは.net Coreと自営のKestrelプロジェクトを使うことができます。このようにして、バックエンドは静的コンテンツとしてフロントエンドにサービスを提供し、sepparateプロジェクトにもなります。 – Gusman