ASP-страничка прекрасно рендерит картинку на локальной машине (Windows7, VS Development Server или IIS-Express)
и не хочет это делать, когда работает у хостера
http://flag.somee.com/RenderInfo.aspx
(проверил на parking.ru - не поддерживается .NET Framework 4.0)
Для серверного рендеринга используется WPF. Визуализируется Grid с двумя потомками: Rectangle и Button. Оба они отрисовываются в png-файл без проблем. Когда же вместо Button процедура получает Viewport3D, она его в упор не видит.
P.S. Процедура рендеринга выглядит примерно так:
private RenderTargetBitmap CreateFlagImg(FrameworkElement myCanvas, ...)
{
FlagCanvas.UpdateLayout();
FlagCanvas.Measure(new Size(FlagCanvas.Width, FlagCanvas.Height));
FlagCanvas.Arrange(new Rect(new Size(FlagCanvas.Width, FlagCanvas.Height)));
RenderTargetBitmap rtb = new RenderTargetBitmap(..., PixelFormats.Pbgra32);
DrawingVisual dv = new DrawingVisual();
using (DrawingContext ctx = dv.RenderOpen())
{
VisualBrush vb1 = new VisualBrush(myCanvas);
ctx.DrawRectangle(vb1, ...);
}
rtb.Render(dv);
return rtb;
}

