Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ASHX处理器;只点燃一次_Asp.net_Image_Dynamic_Httphandler_Ashx - Fatal编程技术网

Asp.net ASHX处理器;只点燃一次

Asp.net ASHX处理器;只点燃一次,asp.net,image,dynamic,httphandler,ashx,Asp.net,Image,Dynamic,Httphandler,Ashx,我有一个简单的ASHX处理程序,它返回一个动态生成的图像;该映像是从自定义创建的类生成的,属于该类的对象使用Session传递给处理程序(我宁愿避免使用QueryString) 处理程序用作ASP表单上图像的URL,非常简单:下拉列表、按钮和图像。基本上,根据用户从列表中选择的内容,按下按钮后将生成相应的图像 在开始时,实际图像的Visible属性设置为false;我不希望处理程序在数据全部存在之前显示任何内容 按下按钮后,将添加包含必要对象的所需会话参数,并使用Server.Transfer刷

我有一个简单的ASHX处理程序,它返回一个动态生成的图像;该映像是从自定义创建的类生成的,属于该类的对象使用Session传递给处理程序(我宁愿避免使用QueryString)

处理程序用作ASP表单上图像的URL,非常简单:下拉列表、按钮和图像。基本上,根据用户从列表中选择的内容,按下按钮后将生成相应的图像

在开始时,实际图像的Visible属性设置为false;我不希望处理程序在数据全部存在之前显示任何内容

按下按钮后,将添加包含必要对象的所需会话参数,并使用Server.Transfer刷新页面。当Page_load方法检测到会话参数已正确设置时,它会将图像上的可见参数设置为true

之后,处理程序启动并生成图像

到目前为止还不错。。。但是,如果用户现在选择与列表不同的内容并按下按钮,尽管会话中传递了正确的对象,图像将不会更新。事实上,处理程序甚至不会启动(如果我在其中设置断点)。我需要关闭浏览器窗口并重新打开它才能工作

你知道这种行为的原因是什么吗


我想答案很简单,我只是不知道ASP(或处理程序)的一些基本知识。

图像可能缓存在客户端上,浏览器不需要从服务器请求新版本。在
ProcessRequest
方法的开头添加:

context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

该映像可能缓存在客户端上,而浏览器没有从服务器请求新版本。在
ProcessRequest
方法的开头添加:

context.Response.Cache.SetCacheability(HttpCacheability.NoCache);