这段C#代码是什么意思?详细点一句一句分析,我笨
{
try
{
var resultSet = await Task.Run(() => { return EmployeesBiz.GetByCode(code); });
return Request.CreateSuccessResponse(resultSet);
}
catch (Exception ex)
{
return Request.CreateExceptionResponse(ex);
}
} 展开
public async Task<HttpResponseMessage> GetByCode(string code)
这一行是定义一个方法。public是方法作用域,async是指定该方法为异步返回的关键字。一般要配合Task类和关键字“await”使用。Task<HttpResponseMessage>标识该方法的返回类型:返回一个异步处理的任务。GetByCode是方法名。string code表示该方法接收一个string参数。
{
括号
try
一般配合catch使用。try内捕获异常;catch内处理异常。
{
同2
var resultSet = await Task.Run(() => { return EmployeesBiz.GetByCode(code); });
我估计你不明白的应该是这一行;await必须添加在一个返回值是任务(task)类型的方法之前;该关键字表明会阻塞当前任务,直至该任务内的内容处理完毕才会执行之后的代码;这个在web内应用很广泛,比如你一个方法是需要处理耗时很长的操作,就可以使用该方式返回数据,好处是,服务器在处理该耗时方法时,还能接收其他客户端的请求。Task还有一个属性是Result。该属性也是阻塞当前任务,直至该任务执行完毕的;它与await的区别在于,Result会使整个web服务器进程等待该任务执行完毕。所以在开发web服务端时,尽量避免使用Task的Result属性。
return Request.CreateSuccessResponse(resultSet);
返回一个处理结果。
}
反括号
catch (Exception ex)
看3的说明
{
同2
return Request.CreateExceptionResponse(ex);
捕获异常后返回异常的结果
}
同7
}
同7