Aufruf der Asynchronen Methode Page_Load

static async void SendTweetWithSinglePicture(string message, string image)
{
    var auth = new SingleUserAuthorizer
    {
        CredentialStore = new SingleUserInMemoryCredentialStore
        {
            ConsumerKey = "",
            ConsumerSecret = "",
            AccessToken = "",
            AccessTokenSecret = ""
        }
    };

    var context = new TwitterContext(auth);

    var uploadedMedia = await context.UploadMediaAsync(File.ReadAllBytes(@image));
    var mediaIds = new List<ulong> { uploadedMedia.MediaID };

    await context.TweetAsync(
        message,
        mediaIds
    );
}
protected void Page_Load(object sender, EventArgs e)
{
    SendTweetWithSinglePicture("test", "path");
}

Wie kann ich es nenne, ein async Methode auf Page_Load?

  • Wenn Sie die Methode ändern, um static async Task statt der leere, die Sie aufrufen können, indem Sie mit SendTweetWithSinglePicture("test", "path").Wait(). Vermeiden async void es sei denn, Sie verwenden es für Veranstaltungen.
  • Durch die Art und Weise, versuchen zu vermeiden, veröffentlichen Sie Ihre Frage mit der API-keys/secrets. Jemand mit diesen Informationen können entführen die API-Konto.
  • Sperrung synchron in einer ASP-Anwendung ist betteln für einen deadlock. Never ever call-Task.Wait (), wenn Sie überhaupt zu vermeiden. In diesem Fall ist es möglich, einfach nur Page_Load async, oder registrieren Sie einen async-task mit Hilfe des built-in-Typen von ASP.
InformationsquelleAutor AnthonyG | 2015-12-10
Schreibe einen Kommentar