ASP.NET 3.5 Web フォームを使用しています。
「CommonPath」という名前のキーを追加して、サイト パスを web.config に保存しました。
これで、単純な html ページが 1 つになり、このキーをこの静的 html ページで使用したいと考えています。どうすればこれを行うことができますか?またはこれには他の方法がありますか?
前もって感謝します
ASP.NET 3.5 Web フォームを使用しています。
「CommonPath」という名前のキーを追加して、サイト パスを web.config に保存しました。
これで、単純な html ページが 1 つになり、このキーをこの静的 html ページで使用したいと考えています。どうすればこれを行うことができますか?またはこれには他の方法がありますか?
前もって感謝します
私が過去にしたことは、「.html」ページも動的ページとして解釈されるように登録することでした。(つまり、ASPX のように)。
これは、「web.config」ファイルを使用して実行できます。
....
<system.web>
<compilation ...>
<buildProviders>
<add extension=".html"
type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
....
と
....
<system.webServer>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated" />
<add name="PageHandlerFactory-Integrated-HTML" path="*.html"
verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory"
resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
....
Robertが指摘するように、これは IIS 7 および IIS 7.5 (およびおそらく上記のバージョンでも) でうまく機能します。IIS 6 を使用している場合は、IIS 管理コンソールから行う必要があります。
Ramesh と Andrew Barber のコメントによると、.html ファイルの名前を .aspx に変更するのが最善の方法です。これにより、IIS が静的ファイルを返すだけでなく、ASP.NET がそれを処理します。従来のトラフィックを処理するために、単純なリダイレクト永続ルールを Web サーバーに追加します。.html ファイルをそのままにしておく必要がある場合は、リライト ルールを追加して (IIS 書き換えモジュールがインストールされている場合)、誰にも知られずに .html ファイルが .aspx ファイルを指すようにすることができます。または、ASP.NET ルーティングを使用して同じ効果を実現します。