通过LinqToTwitter上传媒体挂在WebForms中,在ConsoleApp中工作良好

本文关键字:ConsoleApp 工作 LinqToTwitter WebForms 媒体 通过 | 更新日期: 2023-09-27 18:13:07

我使用LinqToTwitter上传视频时有问题。我有一个示例代码,它在Console application中调用时工作良好,但在WebForms项目中使用时挂起。

private static ulong UploadMedia()
{
    const string path = "c:''Temp''video.mp4";
    var authorizer = new SingleUserAuthorizer
    {
        CredentialStore = new SingleUserInMemoryCredentialStore
        {
            ConsumerKey = "my_consumer_key",
            ConsumerSecret = "my_consumer_secret",
            AccessToken = "my_access_token",
            AccessTokenSecret = "my_access_token_secret"
        }
    };
    var tc = new TwitterContext(authorizer);
    var media = UploadMediaAsync(tc, File.ReadAllBytes(path)).Result;
    return media.MediaID;
}
private static async Task<Media> UploadMediaAsync(TwitterContext tc, byte[] media)
{
    return await tc.UploadMediaAsync(media, "video/mp4");
}

有人知道哪里出了问题吗?

通过LinqToTwitter上传媒体挂在WebForms中,在ConsoleApp中工作良好

你正在阻塞WebForms UI线程通过调用.Result

请参阅http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html了解该问题以及如何解决。