Превышен тайм-аут онлайн-сервиса для получения сведений об исключении - PullRequest
0 голосов
/ 05 июля 2018

Итак, я пытался исправить еще одно исключение на веб-сервисе, однако оно появилось сегодня, и я не могу его исправить.

Итак, позвольте мне объяснить мою ситуацию. У меня есть программа Xamarin для Android, которая после внесения изменений будет отсчитывать 10 секунд до отправки набора данных в веб-службу для обновления базы данных SQL. Таким образом, он будет обновлять базу данных один раз, однако после второй попытки отправки в веб-сервис я получаю сообщение об ошибке:

System.Web.Services.Protocols.SoapException: <Timeout exceeded getting exception details>

Вот часть, которая вызывает веб-сервис:

async void startUploadCounter()
    {
        SQLWebService.SQLWebService DataService2 = new SQLWebService.SQLWebService();

        await Task.Delay(10000);
        Toast.MakeText(this, "Updating", ToastLength.Short).Show();
        DataService2.updateRooms(rooms,employeeID);
        isEdited = false;
    }

А вот код веб-сервиса:

[WebMethod]
public void updateRooms(DataSet rooms, int employeeID)
{
    using (SqlConnection connection = new SqlConnection(cs))
    {
        connection.Open();

        SqlDataAdapter dataAdapter = new SqlDataAdapter($"Select * from Room Where AssignedEMP = {employeeID}", connection);
        SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
        dataAdapter.Update(rooms);
        //rooms.Clear();


        //    //rooms.GetChanges();

    }
}

Редактировать: Также я должен отметить, мне жаль, что я делаю это, кажется, очень плохо или неэффективно, однако, я не очень знаком с вещами веб-сервиса

1 Ответ

0 голосов
/ 05 июля 2018

Я предполагаю, что служба выдает исключение, и у клиента возникают проблемы с получением информации об этом исключении.

На стороне веб-службы оберните внутренности метода с помощью try / catch / finally и зарегистрируйте некоторую простую информацию о времени. Записать время, когда метод введен, и время его выхода. Поместите сообщение журнала выхода + время в finally, если оно вызывает исключение.

Что бы я сделал, это отдельная отладка двух. Используя такой инструмент, как Postman, отправьте веб-запрос непосредственно в веб-службу и посмотрите, сколько времени это займет. Это скажет вам, если проблема на клиенте или на сервере.

Кроме того, REST - это вариант вместо мыла? Делать сообщения json намного проще для тестирования и отладки.

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