2015-07-20 15 views
0

在我的網站中,它允許用戶上傳3D模型文件(.stl,.obj),並且該網站將爲其生成縮略圖圖像。它在我的本地PC上運行良好,但它在azure中不起作用,只生成了一個沒有任何異常的空圖像(可以繪製背景,但無法渲染該對象)。網站應用有沒有限制?Viewport3D/BitmapExporter(WPF)無法在Web Apps中工作

public static void Export(Model3DGroup model, string outputFileName) 
{ 
    var viewport = new Viewport3D(); 

    viewport.Measure(new Size(320, 240)); 
    viewport.Arrange(new Rect(0, 0, 320, 240)); 

    var root = new ModelVisual3D(); 
    viewport.Children.Add(root); 

    var camera = new PerspectiveCamera(); 
    camera.Position = new Point3D(2, 16, 20); 
    camera.LookDirection = new Vector3D(-2, -16, -20); 
    camera.UpDirection = new Vector3D(0, 0, 1); 
    camera.FieldOfView = 45; 
    camera.NearPlaneDistance = 0.1; 
    camera.FarPlaneDistance = double.PositiveInfinity; 

    viewport.Camera = camera; 

    root.Children.Add(new DefaultLights()); 

    root.Content = model; 

    CameraHelper.ZoomExtents(camera, viewport); 
    Viewport3DHelper.Export(viewport, outputFileName, Brushes.WhiteSmoke); 
} 

回答

1

我簽出您正在使用的工具包和你自己的論壇here問題,如果正在IIS Express,而不要在Azure上的WebApp那麼很顯然,螺旋工具包是使用一種方法調用可能受WebApp Worker VM Sandbox限制的操作系統級directX代碼。

Azure中的WebApp有運行你的用戶代碼的虛擬機,併爲保護虛擬機從一個預防性措施被損壞它拒絕特定的呼叫直接對內核和圖形去沙盒。

作爲一項解決方案,您可以嘗試使用Azure Cloud Service,它可以爲您提供更多的自由。

+0

謝謝赤壁!它看起來必須在虛擬機上爲此構建一個web服務。 – fengyj

相關問題