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 Process
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.
#Synchronization Properties
The requestSettings property allows you to change the default synchronization settings. The following properties are available:
Property | Default Value | Description |
---|---|---|
pending |
5 | Specifies the pending period before the control sends a request to the server (in seconds). |
max |
250 | Specifies the maximum number of commands that the control can send in one request. |
response |
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"))