C# 通过LinqToTwitter上传媒体挂起在WebForms中,在ConsoleApp中工作正常

C# 通过LinqToTwitter上传媒体挂起在WebForms中,在ConsoleApp中工作正常,c#,upload,async-await,linq-to-twitter,C#,Upload,Async Await,Linq To Twitter,我使用LinqToTwitter上传视频时遇到问题。我有一个示例代码,它在控制台应用程序中调用时运行良好,但在WebForms项目中使用时挂起 private static ulong UploadMedia() { const string path = "c:\\Temp\\video.mp4"; var authorizer = new SingleUserAuthorizer { CredentialStore = new SingleUserIn

我使用
LinqToTwitter
上传视频时遇到问题。我有一个示例代码,它在
控制台应用程序中调用时运行良好,但在
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");
}
private static ulong UploadMedia()
{
const string path=“c:\\Temp\\video.mp4”;
var authorizer=新的SingleUserAuthorizer
{
CredentialStore=新的SingleUserInMemoryCredentialStore
{
ConsumerKey=“我的消费者密钥”,
ConsumerCret=“我的消费者秘密”,
AccessToken=“我的访问令牌”,
AccessTokenSecret=“我的\u访问\u令牌\u密码”
}
};
var tc=新推特上下文(授权人);
var media=UploadMediaAsync(tc,File.ReadAllBytes(path)).Result;
返回media.MediaID;
}
私有静态异步任务UploadMediaAsync(TwitterContext tc,字节[]媒体)
{
返回等待tc.UploadMediaAsync(媒体,“视频/mp4”);
}

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

您正在通过调用
.Result
阻止WebForms UI线程

查看以了解问题以及如何解决问题