|
Wcf передача сообщений об ошибках и предупреждения
|
|||
---|---|---|---|
#18+
В нашей системе существует метод передачи сообщений об ошибках. Мы используем класс, допустим RetVal, который содержит список предупреждений и ошибок. Методы на добавление и обновление объекта возвращают этот объект, который потом проверяется на сервере и ошибки отображаются на сайте. Когда метод должен вернуть какой-либо объект, мы запихиваем в него тот самый RetVal, что несомненно очень неудобно! Передавать RetVal в качестве out параметра тоже не прижилась.Обрабатывать Exceptions не совсем подходит. Можете подсказать как лучше поступить в этой ситуации? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 15:56 |
|
Wcf передача сообщений об ошибках и предупреждения
|
|||
---|---|---|---|
#18+
Для сервиса нужно использовать возврат конкретного внятного результата, а ошибки бросать через FaultException. RetVal выкинуть на помойку. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 16:12 |
|
Wcf передача сообщений об ошибках и предупреждения
|
|||
---|---|---|---|
#18+
Хорошо, допустим у нас есть метод, в котором происходит 2 операции. Например, загрузка оплат и перерасчет сальда. В методе сначала сохраняются оплаты, а потом происходит перерасчет, если выполняются какие-либо условия (закрытый период и т.п.). Т.е. выполнение второго действия является необязательным, но об этом нужно узнать веб-клиенту. В этом случае бросать тоже исключение, если не удается сделать перерасчет? Или писать дополнительный метод проверки перерасчета? Или вообще разделить один метод на две части (загрузка - один метод, перерасчет - другой)? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 17:09 |
|
Wcf передача сообщений об ошибках и предупреждения
|
|||
---|---|---|---|
#18+
xslowMorphВ этом случае бросать тоже исключение, если не удается сделать перерасчет? Или писать дополнительный метод проверки перерасчета? Или вообще разделить один метод на две части (загрузка - один метод, перерасчет - другой)? Скорее всего тут напрашивается разделение логики на 2 метода, первый метод - загрузка оплат, второй - перерасчет сальда. Клиент выполняет сначала первый метод, а потом, например, в фоне (синхронно, в другом потоке и т.п.) выполняет второй метод, после отработки которого клиент ненавязчиво получает уведомление о том, что перерасчет сальда выполнен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 18:11 |
|
Wcf передача сообщений об ошибках и предупреждения
|
|||
---|---|---|---|
#18+
МСУДля сервиса нужно использовать возврат конкретного внятного результата, а ошибки бросать через FaultException. RetVal выкинуть на помойку. А я пользуюсь. Клиенту нужно после выполнения "Сохранить всех!" - выдать лог, кто соханился, кто нет, и почему. Это знает только сервер - который формирует "письмо" с результатами, и отправляет его клиенту (и в свой лог тоже пишет). Клиент получает и показывает все сообщения в гриде - с разными цветами в зависимости от статуса - все ок - зелененькая строка, warning - соотвествтенно желтенькая и ошибка -красненькая. В результате пользователь в курсе событий, и может принять правильное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:53 |
|
|
start [/forum/topic.php?fid=19&fpage=8&tid=1396921]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 255ms |
total: | 381ms |
0 / 0 |