在java中,您可以将“headless”标志设置为true,以协调无头服务器环境与桌面开发环境之间的差异。
System.setProperty("java.awt.headless", "true");
因此,无论何时尝试执行无头环境中不支持的操作,VM都会抛出异常
我可以修改哪些设置或标志来模拟在IIS应用程序池而不是本地.NET VM中运行的应用程序?
编辑:为了澄清我的意图,我将使用调用System.Windows.Forms.dll,WindowsBase.dll等的代码以及可能实例化窗口的openGL包装器OpenTK。
答案 0 :(得分:3)
模拟我在IIS应用程序池中运行的应用程序而不是本地.NET VM?
好吧,本地虚拟机不会里程(假设您在某些类型的网络服务器中托管),但说实话 - 为什么要模拟? IIS中的主机;那样就好。为了检查微妙的服务器操作系统问题,我在VM中运行服务器操作系统并部署/远程调试等。
要在运行时检查,您可以检查Environment.UserInteractive
;大多数基于服务的代码都会报告错误 - 其中-winforms等将返回true。
IMO,这很少是一个问题。
答案 1 :(得分:1)
如果您希望在实例化窗口时不编译代码,则不要引用System.Windows.Forms.dll
(WinForms)和WindowsBase.dll
(WPF)。