I am new, so forgive me if my question is mistaken or anything, just give me an alert and I'll be glad to fix it.

Me and my team is about to develop a system where the database is located in a private server, and the applications is distributed between clients on distant location.

It is actually a simple CRUD application, but our primary concern is how poor the internet connection on some remote clients.

I thought to give a try to WCF queue message so that when the connection is down, I can save the message to later send it again when it is up, but I don't have a real clear solution in mind.

Currently, my solution would be something like this :



-- MyDataAccess

---- Entities (Contains my object class definitions and properties)

---- Repositories (Handles database communication)

---- Services (Handles message queue to server CRUD)

-- MyClassLibraries (Contains third party's DLLs)

-- MyHelper (Contains helper classes and functions)

-- MyCore (Main application project)

---- Model

---- View

---- ViewModel

and for the server :


-- MyBackgroundService (Responsible for fetching incoming message and doing CRUD to database)

Is there a better solution to this? I am not good enough yet to see it.

Please let me know if I violate some rules here.

Cheers !

2 Answers 2


MSMQ is included with Windows (both client and server). Look at the reference for System.Messaging.MessageQueue.

An alternative would be to batch your operations up and to write an application that will submit them to your remote server when connectivity is restored.

  • though it still blurry to me, but it pointed me to somewhere at the least. Thank you ! :) Mar 17, 2013 at 4:57

look into MSMQ services or just plain MSMQ itself. Configured correctly you can make the OS handle the details that makes certain that the delivery will always occur assuming the network link is restored at some point.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.