というわけで、今後のために「ここが違う」っていうのを、何回かに分けてメモっておきます。
#しかしアレだね、C#ってのはなかなかイケてる言語だね。今更ながら。
デバッグ用WEBサーバーがややこしい
EclipseでWebアプリ(Servlet)開発するとなると、まぁ一般的にはTomcatをインストールして、EclipseにTomcatプラグインを入れて、Eclipse側にTomcatのホームを教えてあげるじゃないですか。で、下記のボタンを操作することでWEBアプリケーションサーバーが起動して、無事デバッグが出来るようになる。
一番左のボタンを押せばTomcat(WEBアプリケーションサーバー)が起動し、×印のボタンを押せば、サーバーが止まる。
実にわかりやすい。
Visual Studioでも当然、Webアプリのデバッグが出来る。下記の実行ボタンを押すと、Webアプリケーションサーバーが起動してデバッグが出来るようになる。
ちなみに、実行ボタンを押すとブラウザが自動的に起動して、自動で割り当てられたポートに対してアクセスした状態になる。
さらにちなみに、このポートを固定したければ、プロジェクトを右クリックしてプロパティを開き、「WEB」タブを選ぶ。すると、任意で指定したポートに固定したり、IISを指定したり出来る(ここで「え?IISを指定できるって、じゃあ一体何が動いているの?と思った方は勘がいい)。
ここまでは何となく理解できるが、実は既にEclipse+Tomcat環境に慣れ親しんだボクには既に理解し難いことが起こっている。
Tomcatの×ボタンに相当する(であろう)上記の停止ボタンを押したら、普通はWebアプリケーションサーバーも止まる、と考えると思うんだけど、Visual Studio は違う。実はこのボタンを押しても止まってなくて、証拠に、ボタンを押した後にIE等のブラウザを起動して同じポートにHTTPアクセスすると、同じように画面が表示されるんですねぇ。
じゃあ実行ボタンを押したら何が起こっているかと言うと、裏でコイツが起動している(パスは64bit環境の場合)。
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.EXE
要は、こいつがデバッガで、Visual Studioの三角の実行ボタンは「そのデバッガにブラウザをデタッチさせて起動する」ボタン、といったところ。たぶん。
ちなみに、環境とか設定のせいかもしれないけど、Visual Studioで「cshtml」とかのソース画面をアクティブにした状態で実行ボタンを押すと、その画面をブラウザで表示しようとしてエラーになるから気をつけろ。(csとかのhtmlではないソースをアクティブにした状態で実行すること!)
他にもいろいろ、本当にいろいろ「え?」っていうところがあるんだけど、また追々書いていこうと思います。