Ich verwende einen WebService (WCF) auf einem C# Android Xamarin-Projekt. Ich benutze diesen Code, um den Service zu intialisieren.Probleme mit WCF WebReference auf C# Xamarin
private void InitializedService1Client()
{
BasicHttpBinding binding = CreateBasicHttp();
ClienteServicio = new Service1Client(binding, Endpoint);
ClienteServicio.ConsStatusCompleted += ClienteServicio_ConsStatusCompleted;
}
Ass Sie können sehen, ich die Eventhandler für consStatuscompleted schaffen, wenn sich Completeed ich diesen Code verwenden.
private void ClienteServicio_ConsStatusCompleted(object sender, ConsStatusCompletedEventArgs e)
{
if (e.Result == true && Vdispositivo == "Alarma")
{
RunOnUiThread(() => this.Btnestado.Text = "On");
Vpool = true;
}
else
{
RunOnUiThread(() => this.Btnestado.Text = "Off");
Vpool = false;
}
if (e.Result == true && Vdispositivo == "Sala1")
{
RunOnUiThread(() => this.BtnSala1.Text = "On");
Vpool = true;
}
else
{
RunOnUiThread(() => this.BtnSala1.Text = "Off");
Vpool = false;
}
}
Ich rufe den Webdienst mit diesem Code
private void Btnestado_Click(object sender, EventArgs e)
{
this.TxtEstado.Text = "Entrando..";
Vdispositivo = "Alarma";
ClienteServicio.ConsStatusAsync("Alarma");
}
Diese meine Probleme sind. 1) Der ClienteServicio.ConsStatusAsync ("Alarma"); Gib VOID zurück, damit ich nicht warten kann. 2) Ich muss warten, um zu beenden, weil ich andere Elemente überprüfen muss, die erste ist Alarma dann andere, aber ich verstehe nicht wie.
Ich bin neu auf Xamarin und C# place mir helfen. und Entschuldigung für mein Englisch.
Hallo Thks für Ihre Antwort, wenn ich svc.BeginConsStatus schreiben, erhalte ich einen Fehler mir zu sagen, dass „Fehler \t CS1061 \t‚Service1Client‘keine Definition enthält für‚BeginConsStatus‘und keine Erweiterungsmethode‚BeginConsStatus‘Annahme einer ersten Argument des Typs 'Service1Client' könnte gefunden werden (fehlt eine Verwendungsrichtlinie oder eine Assemblyreferenz?) \t HCAndroid \t E: \ Programme \ Android \ HCAndroid \ HCAndroid \ FrmEstado.cs Active " –
Ich lese über Task. Factory.FromAsync Aber Don verstehen, was sind meine BeginConStatus und meine Endconstatus, können Sie mir helfen zu verstehen –
Wenn Ihr Web-Service-Client mit der Option Service-Referenz hinzufügen in Visual Studio erstellt wurde, dann achten Sie darauf, das Kontrollkästchen zu g Async-Methoden erstellen. Oder wenn Sie svcutil.exe direkt verwenden, müssen Sie die richtige Befehlszeilenoption übergeben, um die asynchronen Methoden zu generieren. Das signalisiert dem Client-Generator, dass er Anfangs-/Ende-Methodenpaare erstellen soll. –