Guaranteed data processing in the WCF service

I have a WCF service that processes a feed of tens of thousands of records from SAP. The service call takes XElement as the main parameter and processes the XML to update the records in our database. The current intention is for the WCF service call to be called asynchronously and that the service call return the same document with the status for each record being processed to the caller.

I also consider ways of multi-threaded data processing, although this may not put me in order.

Because this may take some time, I am worried about what happens if WCF services die, reboot, etc. I need to know which records I processed and which not, and be able to complete the processing of the remaining records.

The best I could come up with was to update each node with a status (I have to do this, anyway, to send it back to the caller) and save this file to the hard drive. But saving a file, which could potentially reach 100,000 times, really is not possible.

What other strategies can be used to track these records when they are processed?

TIA!
James

+2
source share
4 answers

, ( XML) , , ", ". - , . . , ( node, XmlElement). , , XML ( ), XML ( , XML- > database- > XML.

, , , .

, XML , , "" ( , XML), , " " , . XML , "status".

, , , "status", , , .

!

+1

SQL Server, : . MSMQ:

  • . Service Broker , , , . , .
  • . ( " " ) . , MSMQ, , , , .
  • . SSB . . -.
  • . MSMQ (4 ), . SSB 2 , - .
  • . MSMQ MSMQ , , , , . MSMQ.

:

  • queryability queue: T-SQL SELECT
  • API : T-SQL. MSMQ ( WCF MSMQ - , API MSMQ, , ). SSB T-SQL, T-SQL.
  • . , .
  • :
  • concurrency : .
  • : MySpace SQL Server 1-

The only thing you lose is programming the WCF service model. WCF makes it very easy to write demo applications, and you lose it.

+1
source

You considered a messaging server like Microsoft Message Queuing .

0
source

All Articles