Reputation: 49
Calling Method:
internal object ExecuteJob(RequestParam inputParam)
{
bool jobStatus = false;
var result = jobManager.ExecuteJob(inputParam);
// Code continues
}
Invoking Method:
public async Task<int> ExecuteJob(RequestParam param)
{
await Task.Run(() =>
{
result = package.Execute();
jobResult = (int)result;
});
return jobResult;
}
Once package got completed, it should return back to the calling method, How can we achieve this? Because inside await, I couldn't able to use return like below,
await Task.Run(() =>
{
result = package.Execute();
jobResult = (int)result;
if(result == ssisruntime.DTSExecResult.Success)
return jobResult;
});
Please someone help.
Upvotes: 2
Views: 180
Reputation: 8099
Perhaps something like this:
internal async Task<object> ExecuteJobAsync(RequestParam inputParam)
{
bool jobStatus = false;
var result = await jobManager.ExecuteJob(inputParam);
// Code continues
}
public Task<int> ExecuteJob(RequestParam param)
{
return Task.Run<int>(() =>
{
return (int)package.Execute();
});
}
Upvotes: 3