ASP.NET勉強会メモ
ASP.NETの某勉強会に出たので手元のメモを書き書き。
IISアプリケーションプールの統合パイプラインモード
IISとASP.NETのパイプラインを1つとして扱えるようになった。
昔に作成した片方のパイプラインを専用で使わなければならないようなアプリは動かない可能性がある。
IISアプリケーションプール詳細設定
アプリケーションIDのビルトインアカウント
サービスで使用される「System」「Local Service」「Network Service」アカウントとは? − @IT
現在の推奨はApplicationPoolIdentity
カスタムアカウントで特定ユーザーの権限を与えることもできる。
ping応答最大時間
デフォ90秒。応答しないのが値を超えるとプロセスが強制的にリサイクルされる。
ワーカープロセス最大数
増やすとウェブガーデンになる。マルチプロセスで動作する。
(最近は仮想化が主流なので、使わないことが殆ど)
リサイクル
時間、メモリ制限でワーカープロセスをリサイクルできる。
予期せぬリサイクルには注意。
⇒セッションいきなり切れたりする。
アプリケーションプール
増やしすぎるとメモリがやばい。
ワーカープロセス増やすより多くメモリを確保する
web.configでユーザの操作を制御する
特定ディレクトリのみ匿名ユーザ拒否したい
例:MemberAreaというディレクトリ内のページはログインしてないと閲覧付加
<location path="MemberArea"><!--ディレクトリのパス--> <system.web> <authorization> <deny users="?"/><!--匿名ユーザを拒否する--> </authorization> </system.web> </location>
windows認証を使いたい
<authentication mode="Windows"> </authentication>
ログインのリダイレクト先を指定
<authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="2880"></forms> </authentication>
特定のユーザのみにアクセス許可する
<system.web> <authorization> <deny users="?"/><!--匿名ユーザを拒否する--> <allow users="Training,hoge"/><!--特定ユーザーのみ--> <deny users="*"/><!--それ以外を拒否--> </authorization> </system.web>