I need to build a website and an application that communicate together, in both directions. I will be building the website with ASP.NET, and the application in C#.
I will be hosting the website myself, and it will be running on the same machine as the application.
I don't know what's the best technique to use to send data between the two. The C# app will need to be running all the time. Should I build a C# Console App, and then hide the console window? Or would some other kind of app be more appropriate?
I've been looking round the Web and found several different suggestions, including Sockets, Message Queues, Remoting and WCF. A few pointers would be much appreciated - I'm new to all of this.
Thank you.
EDIT The request-response pattern will be used, with the Web App always being the one instantiating the requests. This is what I meant by two-way communication.
The web app will send a request to the back-end app, the back-end app will perform some processing, and then send a response back to the web app. JSON will be used to send data to and fro.
I will be using SQL Server Express 2008 R2, and the back-end app will be the only one communicating with the database. The web app will mostly be concerned with the Presentation Layer.
The back-end app will have in-memory objects that are instantiated when the app is started (with data loaded from the DB), and then persisted to the DB (during execution and before closing). Will a C# Console App be ideal for this kind of thing?