Quantcast
Channel: Task Scheduler Managed Wrapper
Viewing all articles
Browse latest Browse all 2206

Commented Unassigned: COMException with RunningTask.Refresh() [12470]

$
0
0
I want check task state and i write code
```
RunningTask rt = task.Run();
do
{
Thread.Sleep(1000);
} while (rt.State == TaskState.Running);
```
However, I have infinite loop, because state is not updated (running always). When I change cycle body to
```
do
{
Thread.Sleep(1000);
rt.Refresh(); // COMException here
} while (rt.State == TaskState.Running);
```
Code fires exception if state change from Running to Unknown.

It is correct behaviour?

P.S. In the end, i write first cycle version with
```
while (task.State == TaskState.Running);
```
and I do not have problems.
Comments: ** Comment from web user: dahall **

Please provide the details of the COMException. I suspect that in the second you are waiting, the task ends, changes it state, and then invalidates the COM object interface pointer, thus causing the exception.

Another option is to use TaskEventWatcher.


Viewing all articles
Browse latest Browse all 2206

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>