在机器重启时自动重启应用程序会挂起应用程序

时间:2016-01-13 06:42:23

标签: c# windows registry

我有一个用c#开发的Windows应用程序,每天机器启动时自动启动。通过使用这个windows c#应用程序,我们将启动一个html应用程序来显示从这个c#应用程序读取的所有细节。这个Windows应用程序在启动html之前,从服务器读取更新的数据(如果有的话)。 我的问题是当机器启动应用程序也启动并无法连接到服务器并进入空闲状态并启动html应用程序时,html应用程序将无法与Windows应用程序进行通信并获取任何数据。

但是当手动再次停止并启动Windows应用程序时,它会开始连接到服务器并使用适当的数据启动html。

在注册表设置中,我们将winlogon作为c:\ myapplication.exe。 有没有办法让我的c#应用程序等到机器完全启动并加载机器中的所有网络连接,然后启动应用程序。

任何建议。

此致 桑杰塔

2 个答案:

答案 0 :(得分:0)

在这种情况下,我在启动html页面之前检查系统与服务器的连接,并且每隔一两天进行一次。一旦我获得连接,我就会调用html页面来显示所需的内容。

答案 1 :(得分:0)

有多种方法可以实现您的结果:

  1. 使用任务计划程序。较新版本的任务计划具有延迟启动任务功能。简单地将其设置为以不同的延迟执行您的“应用程序”ON LOGON。
  2. 如果您的C#应用​​程序公开为服务,您可以使用依赖来延迟加载服务

    • 单击“开始”,单击“运行”,然后输入regedit。
    • 展开到以下键:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \
    • 右键单击要为其设置依赖关系的服务,然后选择“新建” - >多字符串值。
    • 将新值重命名为DependOnService。
    • 双击DependOnService值并输入相关服务名称(从上方)到Value Data:字段,然后单击OK。
    • 关闭注册表编辑器。
    • 重新启动服务器。
    • Source
  3. 3.您可以使用免费程序Start Up Delayer来推迟您的计划

    4.您可以在c#程序中创建无限循环,并在加载所有依赖项后中断。例如。检查你是否能够连接到服务器等等。