Android WCF客户端在2个调用后停止响应

时间:2019-04-21 15:10:25

标签: wpf wcf xamarin xamarin.android

我有一个自托管在WPF应用程序中的服务。我也有一个WPF客户端和一个Xamarin android客户端,它们使用WCF客户端来使用该服务。

我已经意识到我可以从WPF客户端正常调用,但是从android客户端只能调用2次,之后应用程序停止响应,并且一段时间后,我收到了超时异常。

我读过一些线程,说我必须关闭客户端代理才能解决问题,因为服务器中的连接数有限,但这不能解决问题。实际上,在这两种情况下,我都尝试不关闭WPF应用程序中的代理并且没有问题,并且尝试关闭android应用程序中的代理,最后尝试使用try / catch和using块。该应用程序停止响应。

我在thisthis之类的线程中尝试解决方案,但是它们不能解决我的问题。

代码如下:

WPF客户端:

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();
        }

在这种情况下,我有一个柜台来知道可以调用多少次该服务,而调用20、30、40 ...次也没有问题。

在android应用程序中,按钮的click事件中包含以下代码:

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

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

在这种情况下,我在使用完代理后使用using块来处理代理。但是我只能调用2次,在下一次调用中,应用程序将引发超时异常。

服务,实例上下文模式是每次调用。

WPF客户端如何正常工作,而android应用程序却不是,我在想这也许是因为android应用程序有不同的考虑因素。

谢谢。

0 个答案:

没有答案