配置IIS 7通过虚拟路径提供程序处理静态文件

5
我有一个虚拟路径提供程序,可以从我的虚拟文件系统中提供静态文件,是否可以配置IIS通过我的虚拟路径提供程序提供静态文件,还是需要创建自定义静态文件处理程序?
1个回答

1

如果我理解正确,您想要处理扩展名为pac的静态文件,即来自虚拟站点的MyFile.pac。

打开IIS7并转到您的虚拟站点,在功能视图中双击MIME类型,然后单击添加..并输入您的扩展名和适当的MIME类型,例如"text/plain"。

这是一种使用IIS的方法,但正如您所说,也可以使用自定义静态文件处理程序来完成。

(这假设您的静态文件具有尚未处理的扩展名,因为许多文件已经被处理了)


我想要实现的是,当我请求位于特殊目录中的文件时,例如http://localhost/myvirtualdirectory/foo.txt,我希望我的vpp通过静态文件处理程序传递文件。文件类型可以是.jpg、.gif或任何文件类型。所以我的问题是,.NET框架中是否内置了静态文件处理程序,可以为我处理这个问题,还是我需要构建自己的静态文件处理程序? - marcus
@Marcus,有通配符静态文件处理程序和许多特定的处理程序。这更多地属于IIS领域。文本文件将被IIS轻松处理。或者在处理它们时,您有什么想要做的事情吗? - dove
@dove 是的,我想要能够通过我的虚拟路径提供程序拦截和/或传递静态文件(jpg、gif等)。所以当我访问路径 localhost/myvpp/foo.jpg 时,我的虚拟路径提供程序会验证文件是否存在并返回true,然后我希望一个静态文件处理程序说:“嘿,我知道这个虚拟文件存在,因为你的虚拟路径提供程序中的FileExists方法说它存在,所以我将它提供给你的浏览器。” - marcus
最终我创建了自己的通配符静态文件处理程序,并在我的web.config中为特定位置进行了配置。该处理程序响应于对此特定位置发出的每个请求,然后我从我的vpp打开文件并将其发送到浏览器。 - marcus
1
@Marcus:如果你的解决方案是有效的(我想不出其他方法来做),你应该将其作为新答案并标记为已接受。 - Jon Adams
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接