我正在开发一个项目,需要使用Web浏览器控件来模拟网站上的用户,这样他们就可以填写表单并从中获取结果。
我的代码在控制台应用程序中工作,并希望从Web服务调用控制台应用程序。这背后的原因是潜在的请求量以及将参数传递给控制台应用程序的能力。
这听起来是否可行,这种方法是否有任何警告,例如我可以向控制台应用程序拨打多少电话的限制因素等。
答案 0 :(得分:1)
Webbrowser控件(以及一些旧版Google Chrome for Windows)使用WinInet作为其网络层,而WinInet is not supported in Windows Services则在IIS下运行。
Webbrowser控件需要STA,这不适合ASP.net。
Webbrowser控件加载了很多dll文件,因此您可能需要在服务器上运行ProcMon,以查看您需要向ASP.Net用户授予哪个文件/文件夹。
Webbrowser漏洞很多,它在服务器上无法很好地扩展。
我记得有人看到人们从IE浏览器控制器转移到GeckoFX,然后转移到WebKit.Net for Windows服务,但我没有收到任何移动到WebKit的人的回复。我不知道是否有人尝试过使用CefSharp在Windows服务中运行Chromium,但值得一试,Chromium不久前就切换到了自己的网络堆栈。