0

I have a service that is is self hosted in a WPF application. Also I have a WPF client and a xamarin android client that use the WCF client to consume the service.

I have realize that I can call with no problems from the WPF client, but from android client I only can call 2 times, later the application stop responding and after a time, I get a timeout exception.

I have read threads that say that I have to close the client proxy to solve the problem, because the number of connections are limited in the server, but this doesn't solve the problem. In fact, I have tried to no close the proxy in the WPF application and I don't have problems and I have tried to close the proxy in the android application, in the finally try/catch and in a using block, in both cases the application stops responding.

I try the solutions in threads like this and this, but they doesn't solve my problem.

The code is the following:

WPF client:

int _numeroLlamadas = 0;
GestorAplicacionesServiceProxy _proxy = new GestorAplicacionesServiceProxy();

private void BtnTest_Click(object sender, RoutedEventArgs e)
        {
            txtResultado.Text = _proxy.GetData(2);

            _numeroLlamadas = _numeroLlamadas + 1;
            txtNumeroLlamadas.Text = _numeroLlamadas.ToString();
        }

In this case I have a counter to know how many times I can call to the service, and I don't have problems to call 20, 30, 40... times.

In the android application I have this code in the click event of a button:

using (GestorAplicacionesServiceProxy miProxy = new GestorAplicacionesServiceProxy(_binding, _endPointAddress))
                {
                    string miResultado = miProxy.GetData(2);

                    Toast.MakeText(this, "Hola", ToastLength.Short).Show();
                }

In this case I use a using block to dispose the proxy when I finish to use it. But I only can call 2 times and in the next call, the application throw a timeout exception.

The service, the instance context mode is per call.

How the WPF client works fine and the android application isn't, I was thinking that perhaps it is because the android application has different considerations.

Thanks.

Álvaro García
  • 18,114
  • 30
  • 102
  • 193
  • Does Xamarin Android also use the clicked method to call to the service? I want to know the whole code of android about clicked method. – Junior Jiang Apr 22 '19 at 05:51
  • Normaly inside .net app you would call channel.abort, not sure if Xamarin supports that call – mahlatse Apr 23 '19 at 07:31

0 Answers0