7

ASP.NET 3.5 Web プロジェクトをプリコンパイルするために、 Web 配置プロジェクトを使用しています。aspx および ascx ファイル内のコードに対して 1 つの追加 DLL を作成します。また、すべての aspx ファイルには、サーバーにコピーする必要があるプレースホルダー aspx ファイル (空) があります。

導入プロセスを簡素化したいと考えています。これらの aspx プレースホルダーを取り除く方法 (IIS サイトを構成し、ある種の http ハンドラーを追加するなど) はありますか?

また、 bin フォルダー内の.compiled ファイルを削除する方法があるかどうかを知りたいです。これにより、展開プロセスがよりスムーズになります。

ありがとう!

4

2 に答える 2

6

私は自分でそれを発見しました。思ったよりずっと簡単です (IIS 6.0):

Internet Information Manager で、サイトのプロパティ ページに移動し、[ホーム ディレクトリ] タブを選択して、[構成...] ボタンをクリックします。

.aspx ISAPI 拡張子の [編集...] をクリックし、[ファイルが存在することを確認する] のチェックを外します。この時点で、aspx ファイルはもう必要ありません。

代替テキスト

アップデート

1 つの重要な点: " http://www.example.com/ " のような要求に対して既定のドキュメントを許可するために (aspx を呼び出さずに) 、アプリケーションのルートに空の "default.aspx" ファイルを作成する必要がありました。 .

更新 2

もう 1 つの非常に重要なことは、ASP.NET Ajax PageMethods を使用している場合、そのページの aspx プレースホルダーを保持する必要があることです。ファイルを省略している場合、JavaScriptの「PageMethods is undefined」エラーがブラウザーにスローされます。

于 2009-01-08T15:39:48.827 に答える
0

可能であれば、少なくとも、asp.net エンジンへのすべての可能な要求を IIS でマッピングする必要があります。それほど難しくありません。次に、HttpHandler がすべての着信要求をインターセプトできるようにする必要があります。そのハンドラーは、コンパイルされたページ クラスを動的にロードしてレンダリングできる必要があります。基本的に、ページ コンテンツを提供するエンジン DLL は 1 つだけです。

しかし、すべてのすべきことからお気づきかもしれませんが、達成するのは簡単なことではありません。これらのプレースホルダー ファイルが存在することの正確な問題は何ですか?

于 2009-01-08T14:13:28.687 に答える