aspxページを作成し、FirefoxとChromeで表示したところ、C#コードを実行して正しく機能しました。しかし、ページに変更を加えると(すべてを削除して空白のページを提供するなど)、両方のブラウザーに元のコンパイル済みaspxページが引き続き表示されます。
aspxファイルに変更を加えても、ASP.Net(Webサーバー)が再コンパイルされていないようです。再コンパイルする唯一の方法は、web.configを変更してから、Webサーバーを再起動することです。
次のコードも追加しましたが、元のページが読み込まれます。
<script runat="server">
Sub Page_Load
Random rd = new Random();
Response.AddHeader("ETag", rd.Next(1111111, 9999999).ToString());
Response.AddHeader("Pragma", "no-cache");
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
Response.Expires = -1;
End Sub
</script>
ブラウザのキャッシュを除外するために行ったテスト:
- aspxページを作成し、Firefoxのみにロードしました(Chromeではありません)
- aspxファイルを変更しました
- Firefoxにaspxを再度ロードしましたが、変更はありません
- Chromeに(初めて)ロードしましたが、まだ古いバージョンが表示されていました!
IISではなくApacheとMonoを使用する