2016-01-13 173 views
1

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

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

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

有任何建议。

问候 桑杰塔

+0

如何在没有网络连接可用的情况下重试? –

回答

0

有多种方案,以实现您的结果:

  1. 使用任务计划程序。较新版本的任务计划有延迟启动任务函数。只需将其设置为以不同的延迟执行您的'应用程序'登录。
  2. 如果你的C#应用​​程序公开为服务,这可能会造成负载的服务与取决于

    • 单击开始,单击运行,输入regedit。
    • 展开以下项:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \
    • 右键单击您尝试设置依赖关系的服务,然后选择“新建” - >“多字符串值”。
    • 将新值重命名为DependOnService。
    • 双击DependOnService值,并将相关服务名称(从上方)输入到“数值数据:”字段中,然后单击“确定”。
    • 关闭注册表编辑器。
    • 重新启动服务器。
    • Source

3.You可以使用免费程序一样Start Up Delayer耽误您的程序

4.You可以在你的C#程序和突破创建一个无限循环一旦所有你的依赖被加载。例如。检查你是否能够连接到服务器等。

0

在这种情况下,我会请与服务器系统的连通性启动HTML页面之前,做它每隔一两秒钟。一旦我获得连接,我会调用html页面来显示任何需要的内容。