Dit is eigenlijk een vrij algemeen scenario. U kunt niets client-based doen, omdat de client weg kan gaan en de verbinding verbreekt en u het tot nu toe bereikte werk verliest. De oplossing is om Service Broker Activation te gebruiken :u maakt een service aan in de database en voegt een geactiveerde procedure toe. In uw applicatie (of ASP-pagina) stuurt u een bericht naar de dienst en integreert u de nodige parameters voor uw procedure. Nadat uw toepassing is vastgelegd, activeert het bericht de serviceprocedure. de serviceprocedure leest de parameters uit het bericht en roept uw procedure op. aangezien activering plaatsvindt op een serverthread die geen verband houdt met uw oorspronkelijke verbinding, is dit betrouwbaar. In feite kan de server zelfs afsluiten en herstarten terwijl uw procedure wordt uitgevoerd en het werk wordt teruggedraaid en vervolgens hervat, aangezien het activeringsbericht de serviceprocedure opnieuw activeert na de herstart.
Bijwerken
Ik heb de details over hoe dit te doen, inclusief voorbeeldcode, gepubliceerd op mijn blog:Asynchrone procedure-uitvoering .