2009-11-21 45 views
1

在java中,您可以將「headless」標誌設置爲true,以協調無頭服務器環境和桌面開發環境之間的差異。在.net中設置headless屬性

System.setProperty("java.awt.headless", "true"); 

所以每當你嘗試做無頭環境中虛擬機拋出一個異常,不支持的操作

什麼是我可以修改,以模擬在IIS應用程序池運行我的應用程序,而不是設置或標誌本地.NET VM的?

編輯:爲了闡明我的意圖,我將使用調用System.Windows.Forms.dll,WindowsBase.dll等的代碼以及可能實例化窗口的openGL封裝器OpenTK。

+0

*編譯器*抱怨?哇。 – 2009-11-21 23:09:46

+0

我懷疑這是抱怨的編譯器 - 它可能是運行時... – 2009-11-21 23:13:32

+0

「可能實例化一個窗口」而你想要它扔?您確定要創建引用WinForms或WPF的「無頭」應用嗎?你能分享爲什麼嗎? – 2009-11-22 00:13:01

回答

3

模擬我的應用程序運行在IIS應用程序池而不是本地.NET VM?

好了,當地的VM不會英里了(假設你在舉辦一些樣的WEB服務器),但說實話 - 爲什麼模擬? 主機它在IIS中;沒事兒。爲了檢查微妙的服務器操作系統問題,我在虛擬機中運行一個服務器操作系統,並部署/遠程調試等。


要檢查在運行時,你可能會檢查Environment.UserInteractive;大多數基於服務的代碼都會報錯,因爲winforms等將返回true。

國際海事組織,這很少是一個問題,但。

1

如果您希望在實例化窗口時不編譯代碼,則不要引用System.Windows.Forms.dll(WinForms)或WindowsBase.dll(WPF)。

+0

+1。簡單但可能非常有效:-) – Joey 2009-11-21 23:15:33