2011-07-23 19 views
0

ポップクイズホットショット...埋め込みリソースの.aspxページをhttphandler経由で返すにはどうすればよいですか?

私は2つのプロジェクトを使用してVisual Studio 2010の.NET 4のソリューションを持って、最初のプロジェクトはHTTPHandlerのと.aspxページが含まれているC#のクラスライブラリです。 .aspxページのビルドアクションは「組み込みリソース」に設定されています。

2番目のプロジェクトは、最初のものを参照するasp.net Webアプリケーションです。 httphandlerはweb.configに組み込まれています。

httphandlerに埋め込み.aspxページを提供します。これはどうすればいいですか?

おかげで、 ジェームズ

答えて

0

.aspxのは、.NETでのHttpHandlerのちょうど専門の一種です。それを忘れないでください。 したがって、.aspxファイル(ASP.NET Webページ)は実際にIHttpHandlerを実装しており、方法はProccessRequestです。ページのマークアップを動的にコンパイルされるようにして実行されたい場合は

はコードビハインド対Webフォームおよびマークアップの動的コンパイルの性質に基づいて
  1. 、あなたは抽出することがあります。これを行うには二つの方法がありますそのページを(コードを介して)ディスクに保存します。この抽出プロセスは、Applciation_Startイベントで行うことができます。
  2. 抽出メソッドが気に入らない場合は、マークアップを完全に削除し、PHPや古いASPやASP.NET MVCのようにコードビハインドですべてを行うことができることを忘れないでください。また、あなたのページは実際にOOP時点からクラスであることを覚えておいてください。したがって、単純にHttpHandlerでインスタンス化し、ProcessRequestメソッドと呼び、現在のHttpContextを渡します。
0

私のやり方は、VirtualPathProviderであり、ハンドラではありません。埋め込みリソース(またはデータベース、Webサービス、またはあなたが考えることができる他のもの)からのページを提供するために仮想パスプロバイダを設定および登録することができます。

http://support.microsoft.com/kb/910441

関連する問題