ปัญหาสุดจะ classic และดูเหมือนจะง่าย ถ้าคุณประมวลผลนานๆ น่าจะต้องย้าย code ส่วนนั้นลงไปที่ web service แล้วค่ะ
เพราะในแต่ละ page (thread ถ้าคุณจะใช้ด้วย) จะหายไปถ้าเกิดมีการปิด page นั้นทิ้งไป
แม้ว่า asp.net จะเป็น server - side ก็ตาม ในกรณีที่คุณ test เองใช้เองคงไม่เกิด แต่ถ้าให้ user ใช้เมื่อไร
โอกาสที่ user จะปิด page นั้นทิ้ง ตอนรอการประมวลผลเสร็จก้อมีค่ะ
ดังนั้นแทนที่จะประมวลผลใน page นั้นๆ ควรย้ายการประมวลผลออกไปที่ web service
เพื่อให้ thread ประมวลผลแยกออกไปเสีย แล้วใช้วิธีบันทึกความคืบหน้าไว้เป็นระยะๆ จนกระทั่งเสร็จ
วิธีนี้ใช้กับการประมวลผลนานเท่านานตราบเท่าที่ server ไม่เดี้ยงอะค่ะ