1

iframe src が動的に設定されている ASP.NET ページがあります。

<iframe id="specialframe" src="<%= IframeSrc %>"></iframe>

コードビハインド:

internal string IframeSrc { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
    IframeSrc = SpecialService.GetNewUrl();
}

SpecialServiceはサードパーティのサービスで、呼び出されると次のような 1 回限りの URL を返します。

http://www.specialservice.com/oneTimeUseId=fh8396123lkjufgh49

セキュリティ上の理由から、この ID は有効期限が切れる前に一度しか使用できません。ただし、これは問題を引き起こします。

ブラウザーでページを初めて表示すると、iframe が正しく読み込まれます。ただし、refreshを押すと、同じ 1 回限りの ID を使用しようとしているため、iframe にエラー メッセージが表示されます。Ctrl+F5で更新して強制的にキャッシュをクリアすると、正しく動作しますが、ユーザーに毎回そうするように指示することはできません。

私の質問は、ブラウザがキャッシュを使用せず、常にサーバーから新しいコピーを要求するように強制することは可能ですか?

4

1 に答える 1

0

ブラウザが常にサーバーからページを要求する必要があるように、ページの有効期限とキャッシュを正しく設定する必要があります。

この質問は、 http://msdn.microsoft.com/en-us/library/y18he7cw.aspxの良いスタートかもしれません。

キャッシュ可能性を none にする必要があります (おそらく、過去に有効期限を設定するために、おそらく SetMaxAge も):

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-30));
于 2012-06-20T02:19:11.127 に答える