5

第一次来这里。我希望这个问题有意义:

我们有一个通用控件库,我正在尝试将其中的嵌入式资源用于图像、JS 和 CSS。似乎在每次部署到 TEST/PROD 时,都有一个时间窗口 WebResource.axd 返回 404。在该时间窗口到期后,页面突然开始正确提供内容。在我的本地 DEV 机器上,似乎有时我可以编译和重新加载使用嵌入式资源的页面,并且立即显示出差异。其他时候它的响应就像有一个缓存等待过期。

我尝试过的事情:
- 从不同的机器浏览以排除本地缓存
- iisreset
- net stop w3svc
- 从 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files 和 C 中删除临时文件: \Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
- 终止 inetinfo.exe 进程
- 终止 w3wp.exe 进程
- 禁用 IIS 输出缓存
- 复制 URL 并添加额外的错误查询字符串参数模仿一个新的页面请求
- 按 Ctrl-F5 :)

似乎重新启动可以解决问题。

我的 google kung-fu 已经稀释了结果,里面充满了每个人检查命名空间的答案。我相信命名空间是正确的。一段时间后,资源将开始正确提供正确的版本。如果它确实在某个时候起作用,那么在我看来,命名空间必须是正确的似乎是合乎逻辑的。

4

2 回答 2

3

它可能是日期时间问题,请检查目标服务器上的日期/时间。我有一个位于纽约的目标服务器,我遇到了类似的问题。

于 2012-05-04T13:11:21.830 回答
3

我很抱歉永远不会回来发布答案......这是我找到的解决方案:

http://jamesnearn.blogspot.com/2011/08/webresourceaxd-returns-404-and-then.html

The short answer is, I compiled in Eastern time zone, deployed to a server in Central time zone. After an hour, the issue resolved itself. My hack solution is to use touch.exe from UnxUtils http://unxutils.sourceforge.net/ to change the DLL's date and then the site works like normal. :)

于 2012-10-27T03:12:08.327 回答