by manamana
12. 8月 2009 12:08
以前、CAPTCHA for ASP.NET は、パイプラインモードをクラッシックに設定すると書きましたが、
Web.config の設定によって、統合モードでも動くことがわかりました。
<system.webServer><handlers> 部分に
<add name="MSCaptcha" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>
としてやればOKです。
URL書き換えについて調べているうちに、Web.config や IIS の設定情報に行き着き、
CAPTCHA も設定をしてやれば OK と気づいた次第です。
それにしても、Web.config や IIS の設定は複雑ですね~
互換性をとりつつ、新しい機能を入れ込んでいるからだと思いますが、とても把握しきれません...orz
URL書き換えだと、HttpContext.RewritePath が主流のようですが、
.NET 3.5 で導入された HttpServerUtility.TransferRequest が気になります。
ちょっとテストしていますが、今のところ良い感じです。
f1af0660-3a64-42b4-bfcf-511b70ff408c|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development
by manamana
11. 8月 2009 12:34
Micorsoft の Web デザインツールとして、Expression Studio があります。
Sliverlight 3 に対応した Expression Studio 3 がアナウンスされていたので、
MSDN を見ていたのですが・・・現行バージョンの Expression Studio 2 がダウンロードできる!!
Expression Studio は、複数の製品が入ったパッケージで、
MSDN の Edition によってはダウンロード対象ではありませんでした。
Microsoft Expression 提供開始のお知らせ (Microsoft)
しかし、いつの間にダウンロードOKになっていたのかな?
多分お知らせメールとか来ていたのでしょうが、華麗にスルーしていまいた。
本命は Expression Studio 3 なんですけど、ちょっと嬉しかったりします。
この手の開発環境は、Mac や Linux 系の方が充実していると感じますが、
MS も自社ツールの普及に力を入れてきたのでしょうか?
f464b0e1-4b92-4127-9b36-9bf613a13ce4|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development
by manamana
10. 8月 2009 19:24
BlogEngie.NET もそうなのですが、url に存在しない path を打ち込んでも動いたりします。
先日ソースを読んでいて、該当部分に行き当たりました。(※ UrlRewrite.cs)
HTTPモジュールという奴なんですね・・・
ページを処理する前後で何かやっているんだろうと思っていましたが、結構有名みたいです。知らなかった~
昔なら特に問題にしませんでしたが、 今ではセキュリティやSEO的に重要だと認識できます。
url の GET 部分を隠蔽したり、統一された url を生成できるからです。
例えば、http://xxxx/post.aspx?id=yyyy を、http://xxxx/post/yyyy で認識できると
実際の aspx ファイルの存在を隠蔽することができるし、
サーチロボットは、簡単な仕組みでページを走査していくことが予想できます。
※最近のサーとロボットは GET 部分を普通に探ってくれるみたいですけど
知ってしまったからには入れ込まないとダメですね。
きっと何かの役に立つに違いない。
追記:
ASP.NET だと、Global.asax で処理するのが一般的みたいです。
http://msdn.microsoft.com/ja-jp/library/ms972974.aspx (MSDN)
ちゃんとマニュアルに載っているし・・・
by manamana
10. 8月 2009 15:49
HTML に埋め込まれた PDF は、HTML の z-index を無視して、上位に表示されます。
どうやらこの現象は 「仕様」 みたいで、解決策が見つかりません。
PopupControlExtender との相性が悪く、折角作ったコントロールが台無しです... ozr
これは Adobe Reader が直らないとダメかも?
とりあえず、レイアウトを変更して逃げることしよう。
9dc688a0-0644-49ee-86ac-a938d6be3b1f|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development
by manamana
7. 8月 2009 18:00
Master Page は、VS2005 から取り入れられて仕組みで、
ページレイアウトの共通部分を引き受けてくれる大変便利なものです。
Master Page の ContentPlaceHolder は、システムが自動的に切り替えてくれます。
一方、AJAX も、ページに配置したコントロールを(半自動で)切り替える仕組みと言えますが、
両者の関係をうまく把握していないと、意図した動きをしてくれません。
AJAX Extensions の UpdatePanel は、同じ ContentPlaceHolder に配置するのが基本です。
しかし、PopupControlExtener など、基本的に非表示にしたいコントロールの場合、
うまく配置しないと、Page Load 時にコントロールが一瞬表示されるのが気になります。
今回は、画面下部に UpdatePanel を配置し、画面のちらつきを抑えました。
この際、ContentPlaceHolder が無効な場合は、Page Load 時に UpdatePanel を非表示にする事が重要です。
この辺の事例は、いつかまとめてみたいと思っています。
追記:
CSSを調べていたら、このような場合は display=none が普通でした・・・CSS は奥が深い
a0e836c9-249d-4281-bcc0-be4c1ca389fa|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development