我正在使用 NuGet 包(我直接从 GitHub 自己编译)用 N2 构建一个网站。/N2 文件夹中构成管理界面的文件都被编译成 N2.zip,并且有一个虚拟路径提供程序配置为从 zip 文件中提供 /N2 文件夹中的任何内容。
在我的开发机器上,它运行良好。当我将它部署到 Web 服务器(运行 IIS 6 或 IIS 7.5)时,对 /N2 文件夹中的文件的请求返回 404。有一个奇怪的例外:提供带有查询字符串值的请求。例如,/N2/Login.aspx?ReturnUrl=%2fn2
有效,但/N2/Resources/Css/All.css
无效。(我正在使用 Fiddler 2 来监控请求。)
这是一个 MVC 站点,在 .Net 4.0 下运行,未预编译。
我在 web.config 中打开了 ASP.Net 跟踪,从中我可以看到 VPP 正在执行,因为它写入的跟踪行以ZipVPP:
ZipVPP: False ~/default.cshtml
ZipVPP: False ~/default.vbhtml 4.79004203405183E-05 0.000048
ZipVPP: False ~/index.cshtml 9.07992130999052E-05 0.000043
ZipVPP: False ~/index.vbhtml 0.000125475536747951 0.000035
ZipVPP: False /Views/Home/Index.aspx 0.000476485344693378 0.000351
ZipVPP: False /Views/Home/Index.ascx 0.000554325119945653 0.000078
ZipVPP: False /Views/Shared/Index.aspx 0.000631632393110378 0.000077
ZipVPP: False /Views/Shared/Index.ascx 0.000704500969472239 0.000073
ZipVPP: False ~/Views/Home/_ViewStart.cshtml 0.000794229163423298 0.000090
ZipVPP: False ~/Views/Home/_ViewStart.vbhtml 0.000833389826910285 0.000039
ZipVPP: True ~/Views/_ViewStart.cshtml 0.000872745800133037 0.000039
ZipVPP: False ~/_ViewStart.cshtml 0.000935947959862434 0.000063
ZipVPP: False ~/_ViewStart.vbhtml 0.000972131211344948 0.000036
ZipVPP: True ~/Views/Shared/_Layout.cshtml 0.00102791407786914 0.000056
ZipVPP: False /Views/Home/LayoutPartials/Rotator.aspx 0.00113080303437734 0.000103
这表明它可能是 VPP 中的一个错误,但我不确定。