Сообщение от
RX1AL
Асхат и UA9CIR:
Должен огорчить... :) Вопрос решаемый, именно при архитектуре клиент-сервер. Только не средствами тех инструментов, что мы заложили. Под Линуксом сделать такое тоже можно, но начнут кидаться камнями. Вкратце, проблема решается следующим образом. Суть в том, что клиенты соединяются с сервером не по схеме клиент к серверу, что эквивалентно точка-точка соединению, а по схеме P2P, когда создается синхронизированный mesh. При этом все запросы чётко квитируются и база данных на сервере выдаст всегда уникальный новый номер. При этом полностью исключается проблема, так называемого "захвата" номера и последующей его "отдачи" обратно в базу. Принцип токена при работе клиента. Клиент получает номер из базы, если он в течение какого-то времени (контролируется автоматически через mesh) его не использует, он передается другому узлу для использования, а старый получает следующий номер. И все. Это очень кратко, чтобы не загружать. Детали можем обсудить позднее. Но скажу, что реализуется на расширении к Mono плюс средства WCF и только SQL Server 2008 с сервисами синхронизации. Создаётся брокер запросов. В 2005 такой номер не проходит, также и в других базах. Поэтому, в данном контексте, для нас такое решение не очень-то актуально.