我写了一个要自动启动的服务。它在OnStart方法中执行一些初始化操作,包括为登录的人设置SENS观察器。
Windows会等到我的OnStart方法完成才允许用户登录,或者如果用户移动得足够快,可能会在我的观察者设置之前发生这样的登录吗?
如果后者属实,那么有人可以推荐一种方法来确保不会发生这种情况吗?
答案 0 :(得分:1)
不幸的是,您的服务是与其他启动活动并行启动的,并且无法保证OnStart()将在某人登录之前完成。如果OnStart()执行非常冗长的操作,但是不实用,则尤其如此。如果OnStart()快速完成,请担心。
也许您可以将代码结构化为在OnStart()中不做太多,甚至更好,在有人已经登录后对其进行适当的反应?
祝你好运!