代码之家  ›  专栏  ›  技术社区  ›  Joshua Evensen

当从windows服务调用的EXE运行时,为什么HTTPWebRequests和WebBrowser控件对我来说执行得更慢?

  •  1
  • Joshua Evensen  · 技术社区  · 14 年前

    所以我以用户身份运行Windows服务。管理权限。此服务通过Process.Start启动EXE。在EXE中,WebBrowser控件用于导航到网站、登录、处理所有安全握手以及获取一些数据。它返回,将数据写入一个文件。

    不可否认,这不是最有效的流程,但我的工作环境让我难以接受。

    不管怎样,当直接测试WebBrowser EXE时,它运行得非常快,但是当它从服务运行时,它运行得非常慢。为什么会这样?服务是否存在网络瓶颈?在运行之前,我已经尝试在process.StartInfo中提高进程WebBrowser exe的启动线程优先级,这有点奏效,但仍然非常慢。

    在WebBrowser EXE中,我通过不断轮询WebBrowser的状态来等待页面完成或某些元素出现。这可能是这种缓慢的原因吗?

    在使用HTTPWebRequest从一个服务执行同样的操作时,我也看到了非常类似的减速——它在表单应用程序中运行相对较快,但在服务中运行非常缓慢。

    所以是的,我的困境可以概括如下:

    1 回复  |  直到 14 年前
        1
  •  0
  •   Sheng Jiang 蒋晟    14 年前

    由于服务中未加载HKEY\ U CURRENT\ U USER配置单元(服务中未调用LoadUserProfile),将丢失大量设置。我甚至不知道IE的安全区域策略在没有区域定义的情况下是如何工作的。