喜帳面の日記

50歳越えおやじのASP.NET MVC への挑戦日記です。

ASP.Netでいってみる MVC2 その6

『ひと目でわかるASP.NET MVCアプリケーション開発入門』
 第15章 決済機能
をやってみました。いいよ最終章です。
ASP.NET MVCアプリケーションから他のWebサービスを利用する例
決済中のビューを表示する部分にscriptを記述しますが
参考書では、
<script>
    function reload() {
        location.reload();
    }
    setTimeout("reload()", 300);
</script>
となってますが、我が家の環境では、ビルドや実行はできるが、「エラー一覧」に
「要素 'script' には必要な属性 'type' がありません。」
と表示されるので<script type="text/javascript">としました。
で、デバッグ実行してみるも、ページ内の『決済中です。。。』のメッセージは表示されないし、また、何秒待ってもページは推移しない。。何かがおかしい。。
alert("Hello, World!");とかscript内に入れるとそれなりにダイアログが表示されるので、script自体は実行されているはず。何だろうと思ったけど、先に進もう。
で、次はこの本には記述されていないけど、やっぱり本番に近い環境、IISを通して実行してみたいんで。
Microsoft Visual Web Developer 2010 Express から『発行』をやってみた
参考にあいたのは以下のページたち
 
■シナリオ別の ASP.NET チュートリアル
http://msdn.microsoft.com/ja-jp/library/bb515247.aspx
 
■Web サイト プロジェクトと Web アプリケーション プロジェクトの相違点
 
ASP.NET 配置のコンテンツ マップ
 
ASP.NET Web アプリケーション プロジェクトの配置の概要
 
方法: ワンクリック発行と Web 配置を使用して Web アプリケーション プロジェクトを配置する

以上のページを参考に、おそるおそる「プロジェクトのプロパティ」を設定後、『発行』してみた。
IIS側には以前に練習で作成したサイト(ASP.NET VBのWeb Formサイト)が残っていたが大きな問題もなくサイトの構築ができたように見える。
ただ、1点。『Image』フォルダの位置が問題になった。
開発環境のフォルダ構成では「Webサイト」フォルダーに下に、「View」などと同じ位置に配置している。
『発行』を行った時点で必要なフォルダ群は(認証用のMDBまで)自動的にWebサイト用のディレクトリに配置されたのだが、『Image』だけはコピーされなかったので手動でコピーを行った。実際にIIS使って実行してみると「画像ファイル」を見つけられずに「×」で表示されている。いろいろ試して、F12で起動する開発者ツール内のイメージのレポート(?)でイメージレポートを表示するとSRCでは、開発環境の構造とは異なり「?コンピュータ」直下に『Image』フォルダがあるようになっている。取り急ぎソースに合わせる形で『Image』フォルダとデータを作成すると、問題無く画像が表示されるようになった。
デバッグ時と実運用時でスクリプト類を変更することの無い、スクリプトの記述とフォルダの配置は?って疑問が沸いたけど、MVC2でこれ以上の調査を行うよりは、MVC3や4の環境にした上で再調査した方が良いんじゃないかと思い、調査は先送りにしました。
 
■感想
今回のサンプルで、MVCの概要は理解できたような気がする。当初の目標は達成したことにします。ただ、MVCのいいところについてはお預けされたような気分。
Mでクラスについてちょこっと書いて、Vで画面作って、Cで処理をゴリゴリ書いて
データベースへのアクセス部分はMで処理するのかと思ってたけどほぼCで記述するなど、なんかCで書くことがいっぱいあるのが気になるなあ。
VとMとCを分業するって、大規模システムならメリットあるんだろうけど
小さなシステムだとWebFormで充分って感じがする。
あと、UIのデザイン的な部分の編集の方法等について、
今回の参考書ではほとんど触れられていないんで、見た目の調整方法などは別途調査だね。
引き続き、MVC3やMVC4関連の資料やサンプルを見ていこうと思います。