Привет я следующий метод в моем # веб-службы C:Как конвертировать метод ASync/ждут C#
[WebMethod(EnableSession = true)]
//[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public object[] GetChartData()
{
System.Threading.Thread.Sleep(5000);
string graphData = "";
List<GoogleChartData> data = new List<GoogleChartData>();
using (DBContext context = new DBContext())
{
data = context.Campaings.AsNoTracking().Take(10).Select(c => new GoogleChartData
{
Year = 2015,
USA = 1,
Mexico = 2,
Canada = 3
}).ToList();
}
var chartData = new object[data.Count + 1];
chartData[0] = new object[]{
"Year",
"USA",
"Mexico",
"Canada"
};
Random random = new Random();
int j = 0;
foreach (var i in data)
{
j++;
chartData[j] = new object[] { i.Year.ToString(), random.Next(0, 1000), random.Next(0, 1000), random.Next(0, 1000) };
}
return chartData;
}
У меня возникли проблемы при вызове из одного приложения несколько раз, так что я хочу, чтобы это сделать асинхронный. Im новое для Async/Await.
Любые подсказки?
У меня возникли проблемы с выяснить, какие проблемы у вас есть ... Вы можете посмотреть на некоторые асинхронном/ждут образцы первых в рамках вы используете (внешний вид как WebForms). –
Учитывая природу веб-разработки, 'async/await' вряд ли поможет вам здесь. Возможно, вы должны быть более конкретными в отношении того, с какими проблемами вы сталкиваетесь? – BradleyDotNET
Почему у вашей программы есть 5-секундный сон внутри? и какие «проблемы» вы имеете, когда вы вызываете метод несколько раз. EDIT: у вас есть много вещей, которые не имеют смысла, вы делаете '.Select (c =>', но вы никогда не используете 'c' внутри select, почему вы вообще делаете вызов базы данных? –