ホーム > .NET > Microsoft Web 開発ガイドライン オンライン版公開

Microsoft Web 開発ガイドライン オンライン版公開

Microsoft Web 開発ガイドライン

ダウンロード版が公開されていたWeb開発ガイドラインのオンライン版も公開されました。
MSDNドキュメントの各所に散らばっている情報が一括で読めて非常に参考になるので、ASP.NETで開発をしているひとはぜひ一度は目を通しておきましょう。
MSDNベースなので、同じ内容が数ヶ所にでてくる点はご愛嬌だと思って(w

これ、非常に良いドキュメントなんですが、読んでいて2点気になったところがあります。
どれも「4. パフォーマンスとスケーラビリティ」の中なのですが。

1点目

設計上の考慮事項 の「ラウンドトリップ数を減らす」という項目のところと ASP.NET ページ の 「Response.Redirect の代わりにServer.Transferの使用を検討する」という項目で同じ意味でServer.Transferを使うべき、というガイドラインが記述されています。
これ、"Response.Redirect" と "Server.Transfer" はどこがどう違うのか、よくわかっている人ならいいんですが、『ガイドラインにこう書いてあるから』というだけで鵜呑みにすると困ったことになりそうです。
"Response.Redirect" と "Server.Transfer" は同じものではありません、というかまったく異なった挙動をします。
単純に置き換えられるものではないので、"Server.Transfer" が使える状況であればたしかにラウンドトリップは減らせるのですが、通常はむしろ "Server.Transfer" は使わないようにしよう、というのが私の個人的なガイドラインだったりします。

2点目

文字列管理 の「出力の書式設定にはResponse.Writeを使う」の内容です。
ループを使って文字列を連結するぐらいなら確かにResponse.Writeのほうが早いのは間違いありません。
ただ、ASP.NETでコントロールを使ってページを構築している中で文字列を連結する場合というのはほとんどありません。
コントロールのレンダリング(HTMLの生成)のタイミングとResponse.Writeのタイミングは異なりますので、このあたり気をつけてプログラムを記述する必要があります。
やってみるとわかりますけど、Response.Writeを使うと、HTMLタグの外側にResponse.Writeで記述した内容が書き出されたりします。

ということで、上記2点は「"Server.Transfer" や "Response.Write" が使えるある特定の状況のときに限って」有効なガイドラインです。
この点には気をつけて読んでいただければと思います。

カテゴリー:.NET
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。