我在使用自定义处理程序(我们需要屏蔽图片运行时)加载图片时遇到了一个非常烦人且奇怪的问题。
该网站,您可以在其中查看:http ://utazovilag.hu/Test/Stack/Main.aspx
基础知识:如上所述,我使用自定义图像处理程序在运行时加载和修改图像。这个网站提供不同的旅行,每一种都经常改变(主要是改变价格)。每家酒店都有自己的一组图片,我们在上面放了一个“广告”栏(一个半透明的黑色矩形,带有一些文字)。这个处理程序加载图像(一些来自本地服务器,一些来自另一个 URL 源),并在其上绘制所需的文本和图片,然后在响应流中返回图片本身。
错误:上面应该可以正常工作,但奇怪的是,图片本身有时根本无法加载。(如果您查看上述链接上的网站,您可以自己查看 - 应该有六张图片,在粗蓝色边框内)。当我刷新页面时,图片出现和消失,没有任何(对我而言)逻辑模式。
我尽可能地缩小了问题的范围。
imageHandler 本身每次都会返回完全相同的图片,无论它是否获得任何 URL。
问题出在 ImageBoxes 上(我认为)。当我给出“普通”网址时(一个没有任何参数的网址,即使处理程序甚至不检查是否有任何参数)
当我添加 imageBoxes 的 URL(这个:http ://utazovilag.hu/Test/GetTestImage.ashx )时,这将返回完美的图像,并且每个图像框都将加载而不会出现任何错误。
当我添加具有 SAME 参数的 URL 时,它的工作就像它应该的那样(如:http://utazovilag.hu/Test/GetTestImage.ashx?OID=0&PID=0&SID=0)它应该正常工作。
(现在,错误)当我添加一个具有不同参数的 URL 时,它会使图片在每次刷新之间随机弹出并消失(这你可以在我上面给你的链接上看到)像这样:http://utazovilag .hu/Test/GetTestImage.ashx?OID=0&PID=0&SID=0而这个:http ://utazovilag.hu/Test/GetTestImage.ashx?OID=1&PID=0&SID=0
但是当我点击“刷新图像”按钮时,图像就会出现。当我尝试直接访问 GetTestImage.ashx 时,它会出现。加载问题仅在有更多图片框时出现,具有不同的 URL。
我只是从想法中跑出来,无法想象为什么会发生这种情况。我尝试创建最基本的 imageHandler(它只是加载图像,创建字节数组,然后将其推送到流向用户的流中)。我尝试了不同的浏览器(Firefox、IE、Chrome)——它们都给出了相同的错误(或者,没有错误,只是图片没有显示)。
任何想法都会非常感激。
编辑:这是我的 imageHandler:http ://pastebin.com/FjjUmNzW
Edit1:我忘了提及它:它在我的本地机器上运行良好,当我尝试在服务器上运行它时出现此错误。
Edit2:也更新了处理程序代码,我显示了我放置日志询问的位置。