Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
встал вот такой вопрос передо мной. 1. вот зову я метод веб-сервиса 2. метод в свою очередь обращается к DB забирает данные и помечает строки которые забрал 3. возвращаю пользователю результат и тут самое интересное---рвется соединение и данные не все доходят до пользователя. что делать дальше? вызовом того же метода я уже не получу нужных мне данных. заранее всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2006, 18:24 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
L>и тут самое интересное---рвется соединение и данные не все доходят до пользователя. Ну дык... Мало-ли чего в жизни происходит. Может fw шалит? Вообще при использовании web-сервисов надо быть к этому готовым. L>что делать дальше? вызовом того же метода я уже не получу нужных мне данных. Надо делать так, чтобы было можно. Для веба обычно делают блокирову при записи — т.е. проверка осуществляется не в момент забора данных, а в момент их обновления. Иначе очень много проблем будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 09:02 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: L>>и тут самое интересное---рвется соединение и данные не все доходят до пользователя. N_C>Ну дык... Мало-ли чего в жизни происходит. Может fw шалит? Вообще при использовании N_C>web-сервисов надо быть к этому готовым. L>>что делать дальше? вызовом того же метода я уже не получу нужных мне данных. N_C>Надо делать так, чтобы было можно. Для веба обычно делают блокирову при записи - N_C>т.е. проверка осуществляется не в момент забора данных, а в момент их обновления. N_C>Иначе очень много проблем будет. короче решил делать так: важные запросы делать в два шага. запрос и подтверждение. пусть будет чуть дольше, зато надежность повышается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 09:16 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
L>короче решил делать так: важные запросы делать в два шага. запрос и подтверждение. пусть будет чуть дольше, зато надежность повышается Ну подтвердил ты их, а дальше? Смотри — клиент забрал данные с подтверждением, потом завис, а в базе у тебя строки остались заблокированы. Через некоторое время у тебя все строки будут заблокированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 09:24 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: L>>короче решил делать так: важные запросы делать в два шага. запрос и подтверждение. пусть будет чуть дольше, зато надежность повышается N_C>Ну подтвердил ты их, а дальше? Смотри — клиент забрал данные с подтверждением, потом завис, а в базе у тебя строки остались заблокированы. Через некоторое время у тебя все строки будут заблокированы. делаю так: запрос. допустим здесь я потерял конект и пользователь не знает что произошло с запросом. ну и хрен с ним. по таймеру потом удалю его пользователь посылает запрос до тех пор пока не получит вразумительный ответ(id записи к примеру) далее пользователь подтверждает этот запрос пока не получит вразумительный ответ(типа да подтверждено) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 09:36 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
L>допустим здесь я потерял конект и пользователь не знает что произошло с запросом. ну и хрен с ним. по таймеру потом удалю его По какому таймеру????? Это web-сервис — он не может (по-умолчанию) вызвать сам себя. Он вызывается только по запросу клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 09:42 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Например, требуется передать клиенту данные и удалить их из базы. Существует только один клиент. Метод GetData начинает транзакцию, отправляя клиенту id транзакции и сами данные. В таблицу транзакций записывается id транзакции и ссылки н данные. Агент sql сервера периодически проверяет, как давно была начата транзакция и удаляет забытые. Метод Confirm получает в параметрах id транзакции и удаляет переданные данные и запись о транзакции, а также о других транзакциях, в которых участвуют удаляемые данные. Если в таблице транзакций нет запрошенного id, то клиенту возвращается ошибка - нет такой транзакции. Клиент должен удалить полученные ранее данные и начать снова. Если произошла ошибка соединения, то клиент должен повторить попытку подтверждения транзакции разумное количество раз. Что я забыл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 10:24 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: L>>допустим здесь я потерял конект и пользователь не знает что произошло с запросом. ну и хрен с ним. по таймеру потом удалю его N_C>По какому таймеру????? Это web-сервис — он не может (по-умолчанию) вызвать сам себя. Он вызывается только по запросу клиента. извиняюсь :) конечно же так. просто я не сказал всей цепочки. есть еще виндовый сервис который обрабатывает эти записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 10:36 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, lumf, Вы писали: L>Здравствуйте, Nikolay_Ch, Вы писали: L>>>короче решил делать так: важные запросы делать в два шага. запрос и подтверждение. пусть будет чуть дольше, зато надежность повышается N_C>>Ну подтвердил ты их, а дальше? Смотри — клиент забрал данные с подтверждением, потом завис, а в базе у тебя строки остались заблокированы. Через некоторое время у тебя все строки будут заблокированы. L>делаю так: L>запрос. L>допустим здесь я потерял конект и пользователь не знает что произошло с запросом. ну и хрен с ним. по таймеру потом удалю его L>пользователь посылает запрос до тех пор пока не получит вразумительный ответ(id записи к примеру) L>далее пользователь подтверждает этот запрос пока не получит вразумительный ответ(типа да подтверждено) Рекомендую посмотреть в сторону спецификаций WS-Transaction и WS-Coordination. Не в плане того чтобы их использовать, а в плане того, что там можно почерпнуть массу здравых идей о том как решаются подобного рода проблемы. В частности WS-Transaction предлагает с полдюжины протоколов транзакций с подтверждением. Читаем здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 10:45 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, stump, Вы писали: S>Рекомендую посмотреть в сторону спецификаций WS-Transaction и WS-Coordination. Не в плане того чтобы их использовать, а в плане того, что там можно почерпнуть массу здравых идей о том как решаются подобного рода проблемы. S>В частности WS-Transaction предлагает с полдюжины протоколов транзакций с подтверждением. S>Читаем здесь о вот это тема :super: спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 11:35 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, lumf, Вы писали: L>о вот это тема :super: спасибо. Пожалуйста. Только лучше оценочку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 11:39 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
"Nikolay_Ch" <49326@users.rsdn.ru> wrote in message news:2058072@news.rsdn.ru... >L>допустим здесь я потерял конект и пользователь не знает что произошло с запросом. ну и хрен с ним. по таймеру потом удалю его > По какому таймеру????? Это web-сервис — он не может (по-умолчанию) вызвать сам себя. Он вызывается только по запросу клиента. Может-может. System.ThreadingPosted via RSDN NNTP Server 2.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 14:19 |
|
||
|
web service и разрыв соединения
|
|||
|---|---|---|---|
|
#18+
jit>Может-может. Во-первых — я сказал по умолчанию. jit>System.Threading А во-вторых — это криво и может в любой момент быть прервано. Оставьте web-сервису делать то, для чего он приспособлен и не надо его нагружать вещами, которые ему не свойственны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2006, 14:30 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33918170&tid=1390597]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 530ms |

| 0 / 0 |
