Question:

You develop a service application named PollingService that periodically calls long-running procedures. These procedures are called from the DoWork method.

You use the following service application code:

partial class PollingService : ServiceBase {

bool blnExit = false;

public PollingService() {

}

protected override void OnStart(string[] args) {

do {

DoWork();

} while (!blnExit);

}

protected override void OnStop() {

blnExit = true;

}

private void DoWork() {

...

}

}

When you attempt to start the service, you receive the following error message: Could not start the PollingService service on the local computer. Error 1053: The service did not respond to the start or control request in a timely fashion.

You need to modify the service application code so that the service starts properly.

What should you do?

 

A Move the loop code from the OnStart method into the DoWork method. 

B Add a class-level System.Timers.Timer variable to the service class code. Move the call to the DoWork method into the Elapsed event procedure of the timer, set the Enabled property of the timer to True, and call the Start method of the timer in the OnStart method. 

C Move the loop code into the constructor of the service class from the OnStart method. 

D Drag a timer component onto the design surface of the service. Move the calls to the long- running procedure from the OnStart method into the Tick event procedure of the timer, set the Enabled property of the timer to True, and call the Start method of the timer in the OnStart method. 

+ Answer
+ Report
Total Preview: 636

Copyright © 2024. Powered by Intellect Software Ltd