2014-12-08 83 views
1

我開發了一個ASP.NET網站,它使用System.Windows.Media dll將3D圖像渲染爲位圖。在IIS託管的ASP.NET中使用Media3D站點

該過程是客戶端頁面請求渲染。 然後服務器運行渲染代碼並在頁面上設置位圖。

這一切在VisualStudio中都可以正常工作,但只要我發佈到IIS,渲染圖像就不再顯示。由Media3D渲染的位圖是空的!

我正在使用RenderTargetBitmap將ViewPort3d渲染爲位圖。

我相信這是一個IIS信任問題,但我一直無法解決它。有沒有人有關於如何解決這個問題的線索?

我正在使用.Net 4.5,並在Windows 7 64位上運行,但將託管它的服務器是Windows 8 Server,如果這改變了任何東西。 UPDATE

進程監視器是非常有用的。 從我可以告訴 HKCU \ Software \ Classes下\ CLSID {AC757296-3522-4E11-9862-C17BE5A1767E} \實例

HKCR \ CLSID {AC757296-3522-4E11-9862-C17BE5A1767E} \實例名NOT FOUND

HKCU \ Software \ Classes下\ CLSID {2B46E70F-CDA7-473E-89F6-DC9630A2390B} \實例名稱找不到

HKCR \ CLSID {2B46E70F-CDA7-473E-89F6-DC9630A2390B} \實例名NOT FOUND

這些鍵可能會導致問題,但我不完全確定它們是什麼,使用谷歌搜索第一個問題wi th 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

+0

不確定,但可能是這通常是用於WPF應用程序的名稱空間,而不是WebForms中看到的名稱空間。您使用的是什麼功能,因爲對於非WPF應用程序可能會有更好的模擬。如果生成媒體所需的資源需要比ASP.Net應用程序通常允許的更高的權限,那麼也可能存在權限錯誤。 – 2014-12-08 04:18:53

+0

嘿,我正在加載一個3D網格,並將其放入一個viewport3d,然後使用RenderTargetBitmap將其渲染到位圖。我在哪裏可以瞭解這些錯誤?因爲據我所見,沒有錯誤的證據。只是沒有生成位圖,我假設是因爲IIS無法訪問某些需要的資源。 – Profes 2014-12-08 20:55:53

+0

確定它可能會非常棘手。您可以嘗試MSDN論壇。如果您有完全訪問服務器的權限,則可以嘗試一些Microsoft SysInternals工具。他們生成大量信息(方式太多),但我用它們來查找非常特定的權限錯誤。嘗試進程監視器(http://technet.microsoft.com/en-us/sysinternals/bb896645)以查看是否可以發現任何被拒絕的資源。 – 2014-12-09 03:00:11

回答