我有一个简单的HttpHandler,它从callig URL中的指定路径获取图像文件。例如,当调用此URL:http://www.abc.com/images/imageview.ashx?fileName=ok.jpg时,它将使用response.writefile从路径:d:\ images \ ok.jpg中写入文件。
一切正常,但网站根路径(d:\ inetpub \ wwwroot \ images)中名为images的文件夹被锁定,在第一次调用后,我无法重命名或删除该文件夹。我不使用文件夹(在网站根目录中)任何地方!
我已经检查了第二个文件夹的所有文件但它们没有被使用,只有文件夹被使用。
当我将调用网址更改为http://www.abc.com/imageview.ashx?fileName=images/ok.jpg时问题已解决。
似乎IIS7锁定了ashx URL的虚拟文件夹。
任何想法或经验?
答案 0 :(得分:0)
这是因为图像最有可能相对于处理程序所在的文件夹进行解析。要么放置绝对路径,比如/images/ok.jpg,要么在服务器上调用〜/ images / ok.jpg来正确解析它。详情请见〜http://weblogs.asp.net/fmarguerie/archive/2004/05/05/avoiding-problems-with-relative-and-absolute-urls-in-asp-net.aspx