Skopiowałem poniżej kod z linku this. Ale kiedy kompiluję ten kod, otrzymuję, że punkt wejścia nie może być oznaczony przez modyfikator "asynchroniczny". Jak mogę sprawić, by ten kod był kompilowany?Punkt wejścia nie może być oznaczony przez modyfikator "asynchroniczny"
class Program
{
static async void Main(string[] args)
{
Task<string> getWebPageTask = GetWebPageAsync("http://msdn.microsoft.com");
Debug.WriteLine("In startButton_Click before await");
string webText = await getWebPageTask;
Debug.WriteLine("Characters received: " + webText.Length.ToString());
}
private static async Task<string> GetWebPageAsync(string url)
{
// Start an async task.
Task<string> getStringTask = (new HttpClient()).GetStringAsync(url);
// Await the task. This is what happens:
// 1. Execution immediately returns to the calling method, returning a
// different task from the task created in the previous statement.
// Execution in this method is suspended.
// 2. When the task created in the previous statement completes, the
// result from the GetStringAsync method is produced by the Await
// statement, and execution continues within this method.
Debug.WriteLine("In GetWebPageAsync before await");
string webText = await getStringTask;
Debug.WriteLine("In GetWebPageAsync after await");
return webText;
}
// Output:
// In GetWebPageAsync before await
// In startButton_Click before await
// In GetWebPageAsync after await
// Characters received: 44306
}
Nie można oznaczyć 'Main' z asynchronicznym autonomicznym. – Jcl
@JCL: Jak mogę nazwać metodę async/awai w metodzie głównej –
Możesz znaleźć wszystkie informacje o async i czekać na [ten link] (http://msdn.microsoft.com/en-us/library/vstudio/ hh191443.aspx). Nie jestem pewien, czy dobrze rozumiesz tę koncepcję. – Jcl