Dav*_*ish 5 c# asp.net http handlers azure
我正在http://www.lovethesales.com上工作-遇到了一个令人讨厌的问题。
有时您会间歇性地在主页上看到自己的图像,因此图像请求将失败并显示502 Bad Gateway
错误。这似乎在所有浏览器中都会发生-(例如,您可以在Chrome开发者工具中看到红色的失败请求)
有问题的资源/ imageproxy永远不会返回200或304以外的任何内容。
1)此页面(设置为显示500个结果)似乎从未出现过损坏的图像,即使它发出类似/相同的请求,但显示的图像却更多:
http://www.lovethesales.com/sales/?take=500
2)如果您按CTRL +刷新-总是很好,那只有在您执行“软”标题刷新时,您才会收到502错误。(只需单击刷新按钮)
该处理程序是标准的IHttpHandler,注册如下:
<add name="ImageProxy" path="/home/imageproxy*" verb="*" type="LoveTheSales.Handlers.ImageProxy" resourceType="Unspecified" preCondition="integratedMode" />
Run Code Online (Sandbox Code Playgroud)
任何有关如何解决这个问题的建议/想法将不胜感激。
干杯,戴夫
[编辑] 我已经设法在测试Azure实例上重新创建了该问题(只有我自己使用它)-并且在打开完整的Web /请求日志记录后-我可以看到502请求甚至从未提交到我的应用程序-甚至不在日志中。我猜这一定是Azure错误吗?
[EDIT 2] 这也发生在非Imageproxy请求上,因此,简单的静态图像也是如此
对于这样的问题我倾向于做一些事情
1)制作小提琴跟踪。对于某些用户/情况来说,这个问题似乎很难重现。Fiddler 等工具可以让您准确记录正在发生的事情。特别有趣的是失败和成功的请求/响应之间有什么不同(如果有的话)
2) 让用户不会注意到它。例如,jquery 错误处理程序只是重新提交请求。我只发生过一次(当然在我自己打开提琴手之前)。如果问题足够罕见,也许它足以优雅地处理 0.1% 的出错情况。
3) 执行严格的负载测试(本地)。如果您查看此处http://blog.wouldbetheologian.com/2014/07/502-bad-gateway-error-on-azure-websites.html,可能存在导致应用程序池崩溃的根本原因。这不会被记录,新实例会启动,但您会收到对旧实例的请求的 502 请求。
尤其是最后一个案例,非常适合我所看到的您的场景。
归档时间: |
|
查看次数: |
1449 次 |
最近记录: |