NetTcp Queueing

Jun 4 2009 1:23 AM
Hi,

I am working on a system for which I am implementing a WCF facility, and have several questions related to WCF design.

Here is an overview of the system:

The system is controlled by an ASP.Net webforms app (C# on a Win2003, framework 3.5, IIS 7 server). Some of the web transactions need to display the results from a 3D rendering application wrapped by a manager app, and running on a different machine. We can only have one instance of the 3D renderer running, and it is single-threaded - only one operation can occur at a time. I have defined a WCF connection between the client web app, and the 3D manager app in order to send the requests. Here are the questions:

1. I would like to use the NetTcp binding for communication, but there can be mutiple simultaneous messages sent from the web app, and as indicated above, the 3D manager app can only handle one message at a time. Is there a mechanism to queue the messages using NetTcp, or do I have to use MSMQ instead and install that on the server?

2. My understading of WCF is that when a new message class is instantiated, you can't use a constructor that accepts parameters (i.e., a reference to the base 3D app class). How do I make the logic and data structures of the base 3D app class available to the WCF message in order to process it?

3. The web app will need to receive and display the results from the 3D app when the rendering process is complete. But this can take some time, especially if multiple messages are queued. I am therefore immediately returning a message to the sender (browser user) informing them that the request has been received, and then returning the 3D rending images when they are available. Is there a WCF facility for returning messages from the server to the client, or do I need to set up another WCF contract with the roles reversed (the web app is the server and the 3D manager app is the client)?

Thanks