Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中的异步和等待问题#_C#_Asynchronous_Async Await - Fatal编程技术网

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谢谢你的提示。我已经编辑了我的应答包,执行应该是异步的。但是我无法从你的代码中看到。请告诉我。