【发布时间】:2022-01-04 09:12:52
【问题描述】:
我有一个非常奇怪的问题(而且我非常怀疑 - 它会在 IIS 端)。
我有 .NETCORE6 应用程序,它通过 IHostedService 使用 Selenium。
有些情况是有效的:
- 如果我在本地从 Visual Studio 的 IIS 启动应用程序,则会打开浏览器
- 如果我从 CMD(自托管)启动应用程序,浏览器会打开
- 如果我从服务器上的 CMD(自托管)启动应用程序,则会打开浏览器
但是
如果我从服务器上的 IIS 启动应用程序 - 测试正在运行(看起来像在无头模式下),但没有显示浏览器。
有人对 IIS 有经验吗?
我尝试了不同的 IIS 池标识 - 并以 DefaulPoolIdentity、LocalService、LocalSystem 的身份执行应用程序,甚至以拥有管理员权限的用户身份执行应用程序 - 但浏览器仍处于隐藏状态。
补充说明:
- 我还检查了浏览器是否以最大化模式在正确的屏幕上启动
所以问题是如何在打开 Web 浏览器的情况下通过 IIS 从服务器启动应用程序? (一定有解决方案吧?)
【问题讨论】:
-
系统会话(会话 0)中没有任何内容对您可见,也不是无头模式。是时候了解差异了,blog.lextudio.com/…
-
我不确定,但您能告诉我们您是如何将您的应用程序发布到 IIS 的吗?根据我的经验,我通常通过 VS 将项目发布到文件夹,然后在 IIS 中创建一个站点以指向我发布项目的文件夹。
-
我认为 Lex Li 的回答是正确的 - 在文章中 - 这对我来说很有意义(顺便说一句)。以下问题是 - 是否有任何解决方法的机会? (我知道我不应该这样做 - 只是好奇,如果有什么办法不使用会话 0...)
标签: c# selenium iis selenium-chromedriver