C# C中的异步和等待问题#
调用方法:C# C中的异步和等待问题#,c#,asynchronous,async-await,C#,Asynchronous,Async Await,调用方法: internal object ExecuteJob(RequestParam inputParam) { bool jobStatus = false; var result = jobManager.ExecuteJob(inputParam); // Code continues } public async Task<int> ExecuteJob(RequestParam param) { await Task.Run(()
internal object ExecuteJob(RequestParam inputParam)
{
bool jobStatus = false;
var result = jobManager.ExecuteJob(inputParam);
// Code continues
}
public async Task<int> ExecuteJob(RequestParam param)
{
await Task.Run(() =>
{
result = package.Execute();
jobResult = (int)result;
});
return jobResult;
}
调用方法:
internal object ExecuteJob(RequestParam inputParam)
{
bool jobStatus = false;
var result = jobManager.ExecuteJob(inputParam);
// Code continues
}
public async Task<int> ExecuteJob(RequestParam param)
{
await Task.Run(() =>
{
result = package.Execute();
jobResult = (int)result;
});
return jobResult;
}
请找人帮忙。也许是这样的:
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();
});
}
内部异步任务ExecuteJobSync(RequestParam inputParam)
{
bool jobStatus=false;
var结果=等待jobManager.ExecuteJob(inputParam);
//代码继续
}
公共任务执行作业(RequestParam param)
{
返回任务。运行(()=>
{
return(int)package.Execute();
});
}
也许是这个<代码>返回等待任务。运行(()=>{…返回jobResult;}感谢您的评论。它不起作用,已尝试过此操作。问题是什么?编译和\或运行此代码时发生了什么?如果结果
不等于SSIRuntime.dtseCresResult.Success
,则无法将类型void隐式转换为intAnd?异步方法的返回类型必须是void
或Task
或任务
。它不能是对象
@S.Akbari谢谢你的提示。我已经编辑了我的应答包,执行应该是异步的。但是我无法从你的代码中看到。请告诉我。