有时候会调用一个asp.net页面而有些时候没有

时间:2010-01-28 05:45:50

标签: c#

我正在使用generateimage.aspx页面作为图像的图像来源。

当调用此页面时,我传递一个查询字符串,然后使用Session["abc"] var将其值重新设置为jpg图像。

GenerateImage页面从另一个页面test.aspx调用,如GenerateImage.aspx?text=P作为img标签下的图像源。然后返回的值以图像的形式显示。

问题:有时这个页面被调用而有些时候没有。 因此,当未调用页面时,返回的图像值是在上一个Session中分配给Session [“abc”] var的图像值。

请让我知道可能是某个时候有时会调用该页面的原因 我该如何处理这个问题。

3 个答案:

答案 0 :(得分:3)

我认为这是一个缓存问题。通过在请求URL的末尾附加时间戳或随机数作为查询字符串来解决此问题。

这样的东西
GenerateImage.aspx?text=P&dynstr=" + (new Date()).getTime();

答案 1 :(得分:0)

您可以通过以下方式禁用缓存:

Response.Cache.SetExpires(DateTime.Now.AddDays(-1));

答案 2 :(得分:0)

我同意@pulse,HTML图像通常被大多数浏览器缓存。所以你有两个选择:1。在源上附加一个随机字符串(不是我最喜欢的,因为它只是一个黑客)2。通过设置响应头(更好的IMO)设置页面强制没有缓存。

另一件事是我会切换到处理程序(ashx页面)而不是标准的aspx页面进行图像处理,因为它具有更轻的占用空间/生命周期,并且可以轻松地重复使用。