Azure Mobile Appsの.NETバックエンドでMVCを同居させてみよう🍣=3
ごあいさつ
衣類乾燥機が今すぐ欲しいのです(´・ω・`)
本題
はじめに
Azure Mobile Appsの.NET バックエンドはASP.NET Web APIがベースとなっていてMVCを追加できません。
でもMobileAppでもMVC使えるようにしたいですよねぇ。
ほらアプリの入口はやっぱりブラウザが多いと思いますし私がいま取り組んでいる課題で必要ですし。
ということで、Mobile AppでMVCを使えるようにしてみます。
前提
Mobile Appの.NET バックエンドプロジェクトをVSで作成してAzureにデプロイできている状態まで出来ている事を前提とします。
この辺を参考にすればすぐにできるかと思います。
コントローラーを追加する
Controllersフォルダに空のMVC5コントローラを追加します。
今回はPageControllerという名前にしてみました。
するとASP.NET MVCを構築するためのファイルが勝手に展開されます。
Viewを追加する
Viewを追加しちゃいます。
ルーティング設定を変更する
デフォルトコントローラ名を指定します。
これを行うとドメイン名のみのURL指定時のコントローラを指定できます。
MobileAppのスタートアップを変更する
今回の肝の部分です。
現在の状態でデバッグをスタートするとこのページが表示されると思います。
これはMobileAppのライブラリが表示しているページです。
このページを表示されないようにしMVC側のルーティング設定が適用されるようにします。
App_Start下にあるStartup.MobileApp.csを開きConfigureMobileApp関数をこのように変更します。
どういう意味かというと
UseDefaultConfigurationというMobileAppConfigurationに対する拡張メソッドを分解しAddMobileAppHomeControllerという拡張メソッドを呼ばないようにしています。
AddMobileAppHomeContollerによってMobileAppの機能に関係ないルーティングが設定されてしまうためです。
これにより
デバッグ実行すればPageコントローラのIndexがコールされIndexページが表示され、この状態でもMobileAppのAPIは正しく動作しているかと思います。
ではでは('ω')ノ