是什么让我的程序在Windows启动时延迟工作?

fun*_*err 2 c# startup backgroundworker

我的程序从Windows启动开始,
但后台工作程序应该在程序打开后立即工作.
但它以延迟开始,然后甚至返回错误的符号(如果站点启动它会返回),
只有在大约15秒之后,后台工作者才能继续正常工作并且程序也是如此.我认为这是因为.net框架试图加载,或者尚未启动的互联网连接,或者尚未加载的东西(Windows启动).
什么可以解决这个问题,可能的原因是什么?(WinForm C#)

编辑:
这是我想到的,
我不认为这是一个很好的做法.有没有更好的办法?
(加载方法):

    while (!netConnection())
    {
    }
    if(netConnection())
    bwCheck.RunWorkerAsync();
Run Code Online (Sandbox Code Playgroud)

Ed *_* S. 5

我认为这是因为.net框架试图加载

不.如果是这样的话,你的程序将无法运行.

或尚未上线的互联网连接,或

对.网卡/接口/连接/未初始化并连接到互联网的任何内容.您不能指望PC在启动时立即连接到互联网.更重要的是,如果您的客户使用网络身份验证在域中,该怎么办?如果他们在一些任务完成之前延迟网络通信怎么办(这实际上是我下面的问题.严重的.)

在这种情况下启动和运行可能需要更长的时间(阅读:不要Thread.Sleep()徒劳地尝试'修复'这个问题.

我不得不在系统设计中解决这样的问题,我们通过PC中的以太网总线与运动控制板进行通信.我最后添加了一些代码来监控网络连接的状态,并且只有在它建立后才开始通过网卡与设备通信.

编辑:正如SLaks在评论中指出的,这在C#中非常简单:NetworkAvailabilityChanged事件为您的编程乐趣.