IIS 8 工作进程屏幕大小限制为 1024X768
Posted
技术标签:
【中文标题】IIS 8 工作进程屏幕大小限制为 1024X768【英文标题】:IIS 8 worker process screen size restricted to 1024X768 【发布时间】:2016-11-06 13:38:33 【问题描述】:我有一个在 IIS 8 中的 .NET v4.0 集成管道 64 位应用程序池下运行的 Web 应用程序。我的 Web 应用程序需要截屏(使用 Selenium / Chromedrive)。
我遇到的问题是图像是由另一个应用程序(动态)生成的,由我的 Web 应用程序调用并作为 IIS 工作进程下的子进程启动。
碰巧,此应用程序需要创建一个与图像一样大的窗口(即 GUI 窗口),然后才能对其进行快照并将图像数据发送回 Web 应用程序。这个 GUI 窗口是在服务器机器上创建的,虽然不可见。
现在,通常这个应用程序可以正常运行,因为我有一个 1920x1200 限制的大型宽屏显示器。所以操作系统最大窗口大小限制不考虑在内。但是,当应用程序在 IIS 8 工作进程下运行时,工作进程似乎对在其中运行的任何应用程序设置了任意 1024x768 分辨率限制(尽管我有我的大显示器连接到同一台机器上)。
所以现在应用程序只能创建一个 1024x768 大小的窗口,然后生成的快照就是这个大小的。我需要在 1920x1200 中截屏
我想由于 IIS 工作进程隔离正在进行,它下的任何应用程序都无法看到服务器的完整解析能力,并且只能使用 IIS 提供的功能。
我有什么办法可以消除这个限制,以便在 IIS 工作进程下运行的应用程序可以创建大于 1024x768 的窗口?
谢谢!
【问题讨论】:
因为它在会话 0 中运行并且没有真正的“屏幕”。没有办法了。如果您确实想在用户会话中运行 Web 服务器,请切换到 IIS Express。 【参考方案1】:经过长时间的研究,没有办法做到这一点......我最终使用了一个带有 SELENIUM 的 docker 容器来做分辨率大于 1024x768 的屏幕截图
奖励,它比通过 IIS 启动的子进程稳定得多
https://hub.docker.com/r/selenium/node-chrome/
【讨论】:
以上是关于IIS 8 工作进程屏幕大小限制为 1024X768的主要内容,如果未能解决你的问题,请参考以下文章
IIS 之 连接数并发连接数最大并发工作线程数队列长度最大工作进程数