ConnectAsync メソッドの終了を待っているときに、別のメソッドを呼び出す必要があります。私はスレッドプール、サイクルなどを試しますが、メソッド ConnectAsync を開始するとすぐに次のメソッドを呼び出しますが、最初に ConnectAsync メソッドを終了してからメソッドを呼び出す必要があるため、同じ問題が発生します。メソッド ConnectAsync は Web ソケット クライアントのサーバーに接続しており、接続時にメソッドを呼び出す必要があります (メソッドは別のページに移動します)。何か案が?.
待機中のメソッド: await socket.ConnectAsync(server)
終了を待っているときに呼び出したい私のメソッド: Frame.Navigate(typeof(MainContentPage));
私の Web ソケット クライアントのメソッド:
public async void _connect(string token, string idInstalation, string lang)
{
try
{
if (token!=null){
socket.SetRequestHeader("Token", token);
socket.SetRequestHeader("Lang", lang);
socket.SetRequestHeader("idInstallation", idInstalation);
}
await socket.ConnectAsync(server);
System.Diagnostics.Debug.WriteLine("Connected");
connected = true;
writer = new DataWriter(socket.OutputStream);
messageNumber = 1;
}
catch (Exception)
{
var dialog = new MessageDialog("Cannot connect to server", "Error").ShowAsync();
}
}
public static void connect(string token, string idInstalation, string lang)
{
instance._connect(token,idInstalation,lang);
}
websocket メソッドを呼び出しているメインページ:
private void connectMe()
{
WebSocketClient.connect(null, null, null);
Frame.Navigate(typeof(MainContentPage));
}