Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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 :

CLIENT

MySolution.sln

-- 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 :

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 !

share|improve this question

2 Answers 2

up vote 0 down vote accepted

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.

share|improve this answer
    
though it still blurry to me, but it pointed me to somewhere at the least. Thank you ! :) –  Samuel Adam Mar 17 '13 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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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