Зависание мобильной платформы при обращении к WEB-сервису

1. glinka 4 02.11.15 15:29 Сейчас в теме
Всем добрый день.
Платформа: 8.3.6.2152
Вот такая проблема: Есть самописная конфа мобильного приложения (работает через Acode tools), которое через web-сервисы общается с центральной базой. И постоянно происходит зависание ... Зависание происходит в разных местах и причина данных зависаний не понятна. Когда проверяешь все в тонком клиенте, все работает как "часы" ... Тестировалась все и на телефоне и на планшете (все на андроиде) - везде одинаковый результат ... Посоветуйте какое нибудь решение !!!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. flyer 233 03.11.15 10:50 Сейчас в теме
попробуйте поставить в коде сообщить в разных местах и отследите по какому коду данное зависание. если уже так сделали то код покажите.
3. flyer 233 03.11.15 10:50 Сейчас в теме
а лучше не поленитесь и все на http переведите
dj_serega; +1 Ответить
4. glinka 4 05.11.15 07:08 Сейчас в теме
(3) flyer, ... имеете ввиду на тонкого клиента?
5. flyer 233 05.11.15 08:46 Сейчас в теме
я так понимаю вы web сервисы использовали а попробуйте использовать обмен с помощью http запросов. и у вас такое происходит на разных устройствах?
6. glinka 4 05.11.15 10:11 Сейчас в теме
(5) flyer, да, зависания происходят на разных устройствах: моб. телефон, планшет ...
7. flyer 233 05.11.15 10:54 Сейчас в теме
тогда код показывайте будем смотреть что там да как сделано. именно те места где зависает
8. glinka 4 06.11.15 11:10 Сейчас в теме
(7) flyer, проанализировал код ... меня смущает передача данных между клиентом и сервером через временное хранилище ... или это не может повлиять на работоспособность?
9. flyer 233 06.11.15 11:16 Сейчас в теме
а объем данных какой передаете? ведь сжатие и передача не быстро может происходить.
10. glinka 4 06.11.15 11:30 Сейчас в теме
(9) flyer, объем не большой ... например массив в нем максимум бывает до 50 строк обычного текста
11. glinka 4 06.11.15 11:40 Сейчас в теме
(9) flyer, ПРИМЕР КОДА:
&НаКлиенте
Процедура ШтрихкодОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	ТипШтрихкода = ОсновнойМодуль.ТипШтрихкода(Текст);
	
	Если ТипШтрихкода = "Пользователь" Тогда
		ШтрихкодОкончаниеВводаТекстаНаСервере(Текст,ЭтаФорма.Элементы.ТекущийПользователь.Заголовок);
		ЭтаФорма.ОбновитьОтображениеДанных();
		Элементы.Штрихкод.ПодсказкаВвода = "Введите штрихкод документа";
	ИначеЕсли ТипШтрихкода = "Документ" Тогда
		Если ЭтаФорма.Элементы.ТекущийПользователь.Заголовок = "" Тогда
			Сообщить("Вы не представились !!!");
			Объект.Штрихкод = "";
		Иначе
			АдресВременногоХранилища = "";
			ШтрихкодОкончаниеВводаТекстаНаСервереДокумент(Текст,АдресВременногоХранилища);
			П = Новый Структура;
			П.Вставить("АдресВременногоХранилища",АдресВременногоХранилища);
			П.Вставить("КодПользователя",Объект.КодПользователя);
			ОткрытьФорму("Обработка.ГлавнаяФорма.Форма.УниверсальнаяФорма",П);
		КонецЕсли
	Иначе
		Сообщить("Считайте штрихкод пользователя или документа");
		Объект.Штрихкод="";
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ШтрихКодОкончаниеВводаТекстаНаСервере(Штрихкод,НадписьПользователь)
	Соединение = WSСсылки.GettingBarcodeData.СоздатьWSПрокси("GettingBarcodeData","GettingBarcodeData","GettingBarcodeDataSoap",,15);
	Соединение.Пользователь = "Пользователь";
	Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("DataBarcodeUser");
	СтруктураДанных = Новый Структура("Штрихкод",Штрихкод);
	СтруктураПользователь = Соединение.DataBarcodeUser(ОсновнойМодуль.Сериализовать(СтруктураДанных));
	ТЗ = ОсновнойМодуль.Десериализовать(СтруктураПользователь);
	НадписьПользователь = ТЗ["ПользовательНаименование"];
	Объект.КодПользователя = ТЗ["КодПользователя"];
КонецПроцедуры

&НаСервере
Процедура ШтрихкодОкончаниеВводаТекстаНаСервереДокумент(Штрихкод,АдресВременногоХранилища)
	Соединение = WSСсылки.GettingBarcodeData.СоздатьWSПрокси("GettingBarcodeData","GettingBarcodeData","GettingBarcodeDataSoap");
	Соединение.Пользователь = "Пользователь";
	Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("GetDocumentData");
	СтруктураДанных = Новый Структура("Штрихкод",Штрихкод);
	Документ = Соединение.GetDocumentData(ОсновнойМодуль.Сериализовать(СтруктураДанных));
	ТЗ = ОсновнойМодуль.Десериализовать(Документ);
	
	АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ТЗ,Новый УникальныйИдентификатор);
	
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот