使用虚拟路径提供程序而不是GetWebResourceUrl检索嵌入的静态资源(css / img / etc)

时间:2014-01-28 20:23:09

标签: asp.net iis embedded-resource virtualpathprovider

我有一个带有CSS样式表的asp.net 4.0 webforms网站,我将其嵌入到一个单独的程序集中。

如果我使用ClientScript.GetWebResourceUrl加载css,它会加载,但是使用/WebResource.axd?whateverlongstringofstuff

我希望我可以使用虚拟路径提供程序,这样我就可以通过链接来引用〜/ Custom / my.css

其中〜/ Custom / *将通过VPP并从嵌入式资源中提供。

我这样做的原因是我希望用户能够通过在该位置添加实际的css文件来轻松覆盖我的CSS,因此它可以替代那个。

但是,无论我尝试什么,我都会在该资源URL上获得404,即使在我的自定义ResourceResolver中,fileExists也会解析为true(因为它确实在资源程序集中找到它)。

所以我怀疑这是因为IIS被配置为直接提供静态文件(css,jpg,png等),绕过我可以添加到管道的任何东西,唯一的方法是让我的用户更改他们的web.config或IIS设置。

这是真的吗?因为如果它是我将放弃它并返回到WebResource.axd,但如果可以这样做真的很好

0 个答案:

没有答案