Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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#_.net_Asp.net Mvc_Asynchronous_Async Await - Fatal编程技术网

C# 不进行异步调用的异步方法

C# 不进行异步调用的异步方法,c#,.net,asp.net-mvc,asynchronous,async-await,C#,.net,Asp.net Mvc,Asynchronous,Async Await,我需要创建一个方法来连接到我的Azure SQL数据库并读取一些数据。所有调用此方法的方法都是异步方法,但我认为我不能使ReadStateProvinceListAsync成为async方法 在这些情况下,正确的方法是什么?只需忽略编译器的“警告”,即我有一个async方法,该方法不使用wait关键字或使ReadStateProvinceListAsync方法成为常规同步方法,在这种情况下GetStateProvinceListAsync方法将给出相同的警告 我想把它做好--按惯例。这就是为什么

我需要创建一个方法来连接到我的Azure SQL数据库并读取一些数据。所有调用此方法的方法都是异步方法,但我认为我不能使
ReadStateProvinceListAsync
成为
async
方法

在这些情况下,正确的方法是什么?只需忽略编译器的“警告”,即我有一个
async
方法,该方法不使用
wait
关键字使
ReadStateProvinceListAsync
方法成为常规同步方法,在这种情况下
GetStateProvinceListAsync
方法将给出相同的警告

我想把它做好--按惯例。这就是为什么我想学习正确的方法

public static async Task<List<StateProvince>> GetStateProvinceListAsync(string countryId)
{
   // Check to see if I already have this data cached
   if(gotData)
   {
      // Life is good! Get data from cache.
   }
   else
   {
      // Don't have the data cached. Call the DB read method
      statesList = await ReadStateProvinceListAsync(countryId)
   }
}

private static async Task<List<StateProvince>> ReadStateProvinceListAsync(string countryId)
{
   // Call Azure SQL Database to read data. No async code here!
}
公共静态异步任务GetStateProvinceListAsync(字符串countryId)
{
//检查是否已缓存此数据
if(gotData)
{
//生活是美好的!从缓存中获取数据。
}
其他的
{
//不缓存数据。请调用DB read方法
statesList=等待ReadStateProvinceListAsync(countryId)
}
}
专用静态异步任务ReadStateProvinceListAsync(字符串countryId)
{
//调用Azure SQL数据库读取数据。此处没有异步代码!
}

async
关键字标记同步方法绝对没有价值。如果您的方法不进行任何异步调用,请使其同步:

public static List<StateProvince> GetStateProvinceListAsync(string countryId)
{
   // Check to see if I already have this data cached
   if(gotData)
   {
      // Life is good! Get data from cache.
   }
   else
   {
      // Don't have the data cached. Call the DB read method
      statesList = ReadStateProvinceList(countryId)
   }
}

private static List<StateProvince> ReadStateProvinceList(string countryId)
{
   // Call Azure SQL Database to read data. No async code here!
}

async
关键字标记同步方法绝对没有价值。如果您的方法不进行任何异步调用,请使其同步:

public static List<StateProvince> GetStateProvinceListAsync(string countryId)
{
   // Check to see if I already have this data cached
   if(gotData)
   {
      // Life is good! Get data from cache.
   }
   else
   {
      // Don't have the data cached. Call the DB read method
      statesList = ReadStateProvinceList(countryId)
   }
}

private static List<StateProvince> ReadStateProvinceList(string countryId)
{
   // Call Azure SQL Database to read data. No async code here!
}

async
关键字标记同步方法绝对没有价值。如果您的方法不进行任何异步调用,请使其同步:

public static List<StateProvince> GetStateProvinceListAsync(string countryId)
{
   // Check to see if I already have this data cached
   if(gotData)
   {
      // Life is good! Get data from cache.
   }
   else
   {
      // Don't have the data cached. Call the DB read method
      statesList = ReadStateProvinceList(countryId)
   }
}

private static List<StateProvince> ReadStateProvinceList(string countryId)
{
   // Call Azure SQL Database to read data. No async code here!
}

async
关键字标记同步方法绝对没有价值。如果您的方法不进行任何异步调用,请使其同步:

public static List<StateProvince> GetStateProvinceListAsync(string countryId)
{
   // Check to see if I already have this data cached
   if(gotData)
   {
      // Life is good! Get data from cache.
   }
   else
   {
      // Don't have the data cached. Call the DB read method
      statesList = ReadStateProvinceList(countryId)
   }
}

private static List<StateProvince> ReadStateProvinceList(string countryId)
{
   // Call Azure SQL Database to read data. No async code here!
}

你想要什么样的行为?如果您不等待任何东西,那么为什么首先要使方法
异步
?毕竟,这就是使方法
async
:允许
wait
的原因。如果
ReadStateProvinceListAsync()
中没有异步实现,则不要将其设置为
async
(并去掉
async
)返回等待任务。运行(Func…)您想要什么行为?如果您不等待任何东西,那么为什么首先要使方法
异步
?毕竟,这就是使方法
async
:允许
wait
的原因。如果
ReadStateProvinceListAsync()
中没有异步实现,则不要将其设置为
async
(并去掉
async
)返回等待任务。运行(Func…)您想要什么行为?如果您不等待任何东西,那么为什么首先要使方法
异步
?毕竟,这就是使方法
async
:允许
wait
的原因。如果
ReadStateProvinceListAsync()
中没有异步实现,则不要将其设置为
async
(并去掉
async
)返回等待任务。运行(Func…)您想要什么行为?如果您不等待任何东西,那么为什么首先要使方法
异步
?毕竟,这就是使方法
async
:允许
wait
的原因。如果
ReadStateProvinceListAsync()
中没有异步实现,则不要将其设置为
async
(并去掉
async
)返回等待任务。运行(Func…)