Android WCF клиент перестает отвечать после 2 звонков - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть служба, которая самостоятельно размещается в приложении WPF. Также у меня есть клиент WPF и клиент xamarin android, которые используют клиент WCF для использования сервиса.

Я понял, что могу без проблем звонить с клиента WPF, но с клиента Android я могу звонить только 2 раза, позже приложение перестает отвечать, и через некоторое время я получаю исключение тайм-аута.

Я прочитал темы, в которых говорится, что для решения проблемы необходимо закрыть прокси-сервер клиента, поскольку количество подключений на сервере ограничено, но это не решает проблему. На самом деле, я пытался не закрывать прокси-сервер в приложении WPF, и у меня нет проблем, и я пытался закрыть прокси-сервер в приложении Android, в конечном итоге try / catch и в блоке using, в обоих случаях приложение перестает отвечать.

Я пробую решения в темах типа , и , , но они не решают мою проблему.

Код следующий:

Клиент 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 у меня есть этот код в событии нажатия кнопки:

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

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

В этом случае я использую блок using для удаления прокси, когда я закончу его использовать. Но я могу звонить только 2 раза, и при следующем вызове приложение выдает исключение тайм-аута.

Служба, контекстный режим экземпляра для каждого вызова.

Как работает клиент WPF, а приложение Android - нет, я подумал, что, возможно, причина в том, что приложение Android имеет другие соображения.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...