C# 异步调用在控制台上工作,但在webapi上不工作

C# 异步调用在控制台上工作,但在webapi上不工作,c#,firebase,asp.net-web-api,firebase-realtime-database,firebase-authentication,C#,Firebase,Asp.net Web Api,Firebase Realtime Database,Firebase Authentication,我需要从C#WebApi连接到Firebase 为此,我制作了一个类库,它连接到Firebase并检索信息 当我从控制台应用程序调用这个类库时,一切运行都很顺利,但当我尝试使用Postman从WebApi运行它时,它开始出现异步问题。具体来说,僵局正在发生 我正在使用FirebaseDatabase.net nugget作为Firebase客户端 编辑 private异步任务LoginAsync() { var FirebaseApiKey=“XXXXXXXX”; var authProvide

我需要从C#WebApi连接到Firebase

为此,我制作了一个类库,它连接到Firebase并检索信息

当我从控制台应用程序调用这个类库时,一切运行都很顺利,但当我尝试使用Postman从WebApi运行它时,它开始出现异步问题。具体来说,僵局正在发生

我正在使用FirebaseDatabase.net nugget作为Firebase客户端

编辑

private异步任务LoginAsync()
{
var FirebaseApiKey=“XXXXXXXX”;
var authProvider=新的FirebaseAuthProvider(新的FirebaseConfig(FirebaseApiKey));
var auth=等待authProvider.SignInWithEmailAndPasswordAsync(“myemail@mail.com“,“我的密码”);
返回auth.FirebaseToken;
}
公共FirebaseClient getClient()
{
if(客户端==null)
{
客户端=新的FirebaseClient(“https://approach-197117.firebaseio.com“,新的FirebaseOptions
{
AuthTokenAsyncFactory=LoginAsync
});
}
返回客户;
}
公共静态异步任务运行()
{
FirebaseConnect FirebaseConnect=新建FirebaseConnect().getInstance();
var firebase=firebaseConnect.getClient();
var list=await firebase.Child(“位置”).OnceSingleAsync();
退货清单;
}

问题在于,当我尝试执行OnceSingleAsync请求位置时,调用在控制台应用程序上起作用,但在webapi调用上不起作用

,如果不查看您的代码,就无法猜测代码的错误。因此,您需要共享代码提供代码片段您如何在Console和WebAPI中使用它,因为您的代码似乎没有问题似乎是我用来获取Firebase令牌的金块出现了死锁。这里没什么可做的。谢谢你的帮助!
private async Task<string> LoginAsync()
    {
        var FirebaseApiKey = "XXXXXXXX";
        var authProvider = new FirebaseAuthProvider(new FirebaseConfig(FirebaseApiKey));
        var auth = await authProvider.SignInWithEmailAndPasswordAsync("myemail@mail.com", "mypassword");
        return auth.FirebaseToken;
    }

    public FirebaseClient getClient()
    {
        if (client == null)
        {
            client = new FirebaseClient("https://approach-197117.firebaseio.com", new FirebaseOptions
            {
                AuthTokenAsyncFactory = LoginAsync
            });
        }
        return client;
    }

    public static async Task<Dictionary<string, Location>> Run()
    {
        FirebaseConnect firebaseConnect = new FirebaseConnect().getInstance();
        var firebase = firebaseConnect.getClient();
        var list = await firebase.Child("Location").OnceSingleAsync<Dictionary<string, Location>>();
        return list;
    }