在IIS托管的ASP.NET站点中使用Media3D

时间:2014-12-08 02:48:58

标签: asp.net iis 3d

我开发了一个ASP.NET网站,它使用System.Windows.Media dll将3D图像渲染为位图。

该过程是客户端页面请求渲染。 然后,服务器运行渲染代码并在页面上设置位图。

这一切在VisualStudio中都可以正常工作,但是一旦我发布到IIS,渲染的图像就不再显示了。 Media3D呈现的位图为空!

我正在使用RenderTargetBitmap将ViewPort3d渲染为位图。

我认为这是一个IIS信任问题,但我一直无法解决。有没有人知道如何解决这个问题?

我正在使用.Net 4.5并且正在运行Windows 7 64位,但是托管它的服务器是Windows 8 Server,如果它改变了什么。 的 更新

Process Monitor非常有用。 从我所知道的 HKCU \ Software \ Classes \ CLSID {AC757296-3522-4E11-9862-C17BE5A1767E} \ Instance

HKCR \ CLSID {AC757296-3522-4E11-9862-C17BE5A1767E} \实例名称未找到

HKCU \ Software \ Classes \ CLSID {2B46E70F-CDA7-473E-89F6-DC9630A2390B} \实例名称未找到

HKCR \ CLSID {2B46E70F-CDA7-473E-89F6-DC9630A2390B} \实例名称未找到

这些键可能导致问题,但我不完全确定它们是什么,谷歌搜索第一个出现的问题 http://msdn.microsoft.com/en-us/library/windows/desktop/ee719879%28v=vs.85%29.aspx 其中指的是特定于编码器的注册表项。这让我相信我在某种程度上错过了适当的编码器/解码器RenderTargetBitmap和BmpBitmapEncoder从w3wp.exe / IIS正常工作。我在哪里找到这些?我认为他们带有.NET Framework。有线索吗?

从Visual Studio运行网站时不会要求这些...

谢谢, GP

1 个答案:

答案 0 :(得分:0)

这看起来像是会话0隔离问题。参见例如

http://www.scribd.com/doc/58343489/Windows-Session-0-Isolation-Impact-on-GPU-as-Service#scribdrcm

我正面临类似的问题。在我的情况下,看起来我将不得不将3D图像生成代码移动到用户会话(即会话0之外)并以某种方式与其进行通信(可能是异步命名管道)。可怕的烂摊子。无法相信微软没有更好的解决方案。请报告您的进展情况。