お約束を以前していたように英語のWebcastから要約を何個かお届けしようと思います。まずはこちら。私の視聴メモをベースにしているので箇条書き風ですが、お役に立てば幸いです。実際にはデモをやっているので下記をご理解いただいた上でデモだけ見れば10分程度で済むかなと。ただ、Application Center とかでバリバリ展開とかをおやりになられているケースではこの内容は概要・一般論になってしまうかもしれませんので事前にご容赦ください。
TechNet Webcast: Efficient Deployment and Management of ASP.NET 2.0 Applications on IIS 6.0 (Level 300)
このWebcastを要約したいと思います。1時間40分の英語は大変ですよね、聞くの。話しているのはChris AdamsというIIS+Web開発ツールのチームにいる製品の部分的な責任を持つProgram Managerです。かなり早口でした。^_^;
まずはIISのWebcastシリーズ集を紹介しているWeb URL。http://www.iiswebcastseries.com
イントロ:ASP.NETのご紹介 ASP.NETは.NETフレームワークの一部である。以上。主なASP.NET関連のコンセプト GACってなんだ。事前定義された.NETアセンブリーの「レジストリー」である。 GACに本当に登録する必要があるのか?binにおけばいいのか。 GACUTILを使って実際にGACに登録する。 ADSUTIL、IISWEB.VBSでアプリケーションプールとWebサイトを作る。 sn.exe(.NETフレームワークSDK)でサインする。サインされていないとGACに登録できない。C#の場合、CSCでビルド、/keyfile:生成したキーを指定→DLLを生成 gacutil -i xxx.dll でGACに登録 .NET1.1で動かしているのか2.0で動かしているのか 両方が共存するケースが増えてくる Web拡張で両方許可されているかチェック サイトのプロパティページでASP.NETタブを開き、バージョンを指定する 主にスクリプトマップ(.aspxが何とか)を変更し、指定したバージョンのフォルダのものを利用するように変更をかける GACを何故使わないでBINを使えないのかの説明が開発者から明確に出なければ押し返してもいい。 web.configには add assembly が必要になる IISAPP SP1とR2で追加された機能 IISAPP /a apppool /r リサイクル GACUTIL /uf が結構使える。 Code Access Security・・・ユーザーコードが考えるポイント、システムはフルになる。 GACに登録しないをデフォルトで考え、例外的に登録することを考える。ASP.NET構成ファイルについて メタベースとmachine.config+web.config IIS7ではここが統合されて楽になりますね。 IIS6のアーキテクチャでのメタベース。インメモリーなのでクロスプロセスで更新を検知しないといけない構造になっている。 IIS6でのパイプラインの説明、IISとASP.NETで二つのパイプライン。 ここでもIIS7の統���モードではそうならないという話。 ISAPIフィルターがBINディレクトリの中を防御しているASP.NET2.0アプリケーションの展開と管理
アプリの展開については自動化を推奨する aspnet_regiis、IISweb.vbs、ADSUTIL.vbsなどを使って自動化して確実な展開を microsoft.comの運営でもこの辺りを組み合わせた標準ツールを作っている aspnet_regiisは自分がどのバージョンを使っているかよく認識すること 同一のマシンでWindows 2003 R2では1.1、2.0が少なくともある -r は一気にスクリプトマップを変更しにいくので要注意。 adsutil.vbs CREATE W3SVC/AppPools/busyPool "IISApplicationPool" IIS.web.vbs /create C:\MySource "MySite" /ap BusyPool /dontstart aspnet_regiis.exe -enable -ir aspnet_regiis.exe -s W3SVC/<metabase path> 各プロパティタブの説明 IIS7でよく話す内容ですが、AllowOverride=falseで階層継承のロックダウン。<location>もASP.NETでできる話。バージョン管理 アプリケーションプールでは一つのバージョンしか実行できない ASP.NETがインストールされていない場合、スクリプトマップは2.0に 1.1がインストールされている場合、IISスクリプトマップは1.1のままにASP.NET2.0ソリューションをx64環境で WOWでの動作でもx64ではASP.NETの仮想メモリが2GBから4GBになる MS.COMは多く使っている adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true" ネイティブ 64ビットでのASP.NET2.0 仮想メモリーは制限なし パフォーマンスのメリットあり MMCスナップインがx64対応していないということで、かなりアプリ開発者の方には当然のように思える内容かもしれませんが、IT管理者の方にとっては非常にコンパクトに重要な要素が詰め込まれている内容だなと思いました。日頃 開発の方に指定を受けたり、誰かが決めた標準で、構成設定だったり、あるいは管理・展開について見直して改善できる点が見つかるとうれしいですね。GACへの登録依頼は理由付けを求めるべきという意見はなかなか面白いですね。
msft:technet:hirookun氏のポスト 再認識のためにもみること。【IIS6】 ASP.NET2.0アプリケーションの展開Webcastより