C# TLSharp在启动期间挂起
我的申请表上有一个处理电报的课程。它使用TLSarp库。它具有以下初始化代码:C# TLSharp在启动期间挂起,c#,android,telegram,C#,Android,Telegram,我的申请表上有一个处理电报的课程。它使用TLSarp库。它具有以下初始化代码: public TelegramBridge() { client = CreateClient(); InitializeAndAuthenticateClient(client).Wait(); } public TelegramClient CreateClient() { TelegramClient clt = null
public TelegramBridge()
{
client = CreateClient();
InitializeAndAuthenticateClient(client).Wait();
}
public TelegramClient CreateClient()
{
TelegramClient clt = null;
clt = new TelegramClient(apiID, apiHash, _sessionStore, "/mnt/sdcard/smsservice/session");
return clt;
}
public async Task<TelegramClient> InitializeAndAuthenticateClient(TelegramClient cli)
{
try
{
await cli.ConnectAsync();
if (cli.IsUserAuthorized())
{
Logger.Info("User is authorized already");
}
else
{
Logger.Error("User is not authorized");
var codeRequest = await cli.SendCodeRequestAsync(registeredPhone);
var user = await cli.MakeAuthAsync(registeredPhone, codeRequest, code);
}
if (cli.IsUserAuthorized() == true)
{
Logger.Info("Successful autorization");
return cli;
}
else
{
Logger.Error("Authorization failed");
return null;
}
}
catch (Exception e)
{
Logger.Error("Telegram Client Auth exception: " + e.Message);
return null;
}
}
另一方面,如果我在类TelegramBridge的任何其他函数中调用这个函数,它就会正常工作。有人能解释一下我的错误在哪里吗?您可以尝试更改
wait cli.ConnectAsync()
tocli.Connect().ConfigureAwait(false)代码>,基于。它不起作用,因为TelecramClient没有函数connect。您可以尝试更改等待cli.ConnectAsync()
tocli.Connect().ConfigureAwait(false)代码>,基于。它无法工作,因为TelecramClient没有函数连接
await cli.ConnectAsync();