ASP.NET MVC
Azure Web Apps + ASP.NET MVC でアプリケーションログを出力する場合、log4net などのログライブラリを使用するのも可能ではあるが、Azure のビルトインとして用意されている App Service ログを使用した方が、ちゃんとログ出力されるかなど余計な心配をし…
Azure Web Apps + ASP.NET の組み合わせでシステムを構築した場合、ページの初回表示が非常に遅い現象に見舞われる事がある。 どれぐらい遅いかと言うと、大体 10 ~ 30 秒ぐらい待つ感じ。 主な原因は下記 2 つ。 Azure Web Apps の「常時接続」設定がオフ…
対象 ASP.NET MVC 5 (.NET Framework) + Azure Web Apps を対象とする。 不要なレスポンスヘッダーの削除 既定のままだと、レスポンスヘッダーには以下のような ASP.NET を示唆する情報が出力される。 Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.303…
ASP.NET のセッションは Session Fixation 問題を抱えるため、認証には認証用に用意されている Form 認証を使用する。 MVC で認証ありサイトを作る時は、RegisterGlobalFilters() で AuthorizeAttribute を Filter に追加して、基本的にサイト全体で認証必要…
MVC のユーザー入力値項目は、基本的には全てモデルで受けて処理するようにする。 その上で、モデルの各プロパティに対して Required, StringLength, RegularExpression 等の DataAnnotation を使って、入力制限をかける。 また、既定で危険な可能性のある文…
サーバーサイドの検証だけで良ければ、下記ブログのクラスを追加して使用できる。 Flexible Conditional Validation with ASP.NET MVC 3 – Stuart Leeks
リダイレクト方法は主に以下の 2 つ。 Redirect("URL パス") RedirectToAction("アクション", "コントローラー", [エリア名など]) 基本的には全て、RedirectToActionメソッドを使えば良い(エリアも考慮されるので)。 ただこれだと、ルーティングで default…
ASP.NET MVC の TempData は Session とは分かれているため、例えば Session.Clear メソッドの実行は TempData には影響しない。 但し、使用するセッション ID は同じなので、Session.Abandon メソッドを実行すると Session, TempData 共に無効になる。