Client-Server Document Synchronization
- 2 minutes to read
The ASPxRichEdit control maintains the logical structure of a document in a document model. This model is sent to the client when the control loads a document. The model then exists on the client and server. The control synchronizes changes made on the client with the server.
Synchronization occurs every 5 seconds or instantly if the control executes an urgent command (for instance, the document is saved). During the pending period, the ASPxRichEdit control places non-urgent commands in a queue. The server can temporarily hold an outdated document model before the changes are synchronized (before the 5 seconds timeout is over).
During the synchronization process, the control sends a request with commands (maximum 250) to the server and waits for a response for up to 30 seconds.
- If the control gets a response, the processed commands are removed from the queue and the control sends the next batch of commands.
- If there is no response after 30 seconds, the control sends the request again.
The requestSettings property allows you to change the default synchronization settings. The following properties are available:
|pendingPeriod||5||Specifies the pending period before the control sends a request to the server (in seconds).|
|maxCommandCount||250||Specifies the maximum number of commands that the control can send in one request.|
|responseWaitingTime||30||Specifies the time the control waits for a response before it sends a request again (in seconds).|
richEdit.requestSettings.maxCommandCount = 100; richEdit.requestSettings.responseWaitingTime = 10000; richEdit.requestSettings.pendingPeriod = 3000;
Force the Synchronization
Execute the forceSyncWithServer command to force instant synchronization.
richEdit.commands.forceSyncWithServer.execute(function ()=> console.log("Models are equivalent"))