Click here to Skip to main content
11,704,107 members (58,983 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Windows Forms Sqlite
Hello guys!

I have a program that uses some threads at the same time that retrieve a page, wait for response, parse the response and then save the data in a DB using Sqlite.

Now when i want to close my program and there are these threads running it takes some time so it closes. how can i abort the page retrieval or the DB update/insert when i need to close my program, quickly?
Posted 14-Jul-11 5:51am
manchukuo1.1K
Edited 14-Jul-11 7:02am
thatraja246.4K
v3
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Use the asynchronous reader execute methods (BeginExecuteReader/EndExecuteReader instead of ExecuteReader, for instance).
  Permalink  
Comments
manchukuo at 14-Jul-11 12:19pm
   
oh i forgot i am using sqllite
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

I would say hide the form until the operation is completed and then close it. This would be adequate if the wait is at most a few seconds and then intend is to make it appears responsive...

BackgroundWorker can also be used and cancelled... Assuming that you can check for cancellation often enought, then the background task would be cancelled soon.

If you have a single long operation, then you might consider splitting that operation into multiple ones...
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 745
1 OriginalGriff 520
2 Maciej Los 475
3 Andy Lanng 284
4 CPallini 275
0 OriginalGriff 8,784
1 Sergey Alexandrovich Kryukov 7,843
2 CPallini 5,107
3 Maciej Los 4,726
4 Mika Wendelius 3,606


Advertise | Privacy | Mobile
Web03 | 2.8.150819.1 | Last Updated 16 Jul 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100