Hi! I am trying to understand how seaside handle double or more, request. I started with the simpler example: WACounter, which has:<br><br>renderContentOn: html<br>    Transcript show: &#39;renderContentOn&#39;; cr.<br>    html heading: count.<br>
    html anchor<br>        callback: [ self increase ];<br>        with: &#39;++&#39;.<br>    html space.<br>    html anchor<br>        callback: [ self decrease ];<br>        with: &#39;--&#39;<br><br><br>increase<br>    Transcript show: &#39;increase&#39;; cr.<br>
    count := count + 1.<br>    (Delay forSeconds: 3) wait.<br><br><br>Now, suppose the counter is in 0. I click one time on &#39;++&#39; and wait and I see in the transcipt: <br><br>increase<br>renderContentOn<br><br>Ok, perfect. New session, 0 again. Now I click on &#39;++&#39; but before it finish, I click 3 times more (very quickly). I can see this in the transcipt:<br>
<br>increase<br>increase<br>increase<br>increase<br>renderContentOn<br><br>So, as I can see:<br><br>1) the callback (self increase in this case) is called for every click. <br>2) the renderContentOn isn&#39;t call until all of the self increase of that session finish. <br>
3) when renderContentOn  is called, the webpage shows the number 1 (which is correct instead of 4).<br><br>Now the questions are:  <br><br>a) how does seaside can do that? every request has its own variables? I think this has to be with continuations but I want to be sure. <br>
b) which of all of the self increase is the one that is finally rendered? the first one?<br>c) how can I handle the famous double commit? suppose now self increase does something in a relational database (like persisting an order or something like that) and I don&#39;t want it to get persisted twice or I don&#39;t want an error because of duplicated PK. <br>
<br>Thanks for the help. I just want to understand how this is handle!<br><br>best,<br><br>Mariano<br>