Anybody using MS's WCF for queuing?

monkeydust

New member
Anybody done any queuing with Microsoft's Windows Communication Foundation? I'm curious what it brings to the table over normal queued components that have been around for years. My understanding is that it still ties into MSMQ that queued COM components have been using. I just want to know if anybody here has any experience with it and can compare it to traditional queuing (interested in what kind of management services are available for controlling messages, redirecting messages and exception handling).

Long shot here but I thought I'd ask anyway. :)
 
You still need to use that old technology for compatibility? I haven't looked at that stuff for more than 10 years. You should look into .NET Remoting instead. The new standards for interoperability are SOAP and such. Are you going across networks domains? PCs? or just processes?
 
Microsoft recommends using WCF over .NET remoting these days.

We've been using SOAP for several years as well. The majority, if not all, of our queues sit on one box (we have a few processes that I don't deal with often so I'm not sure about those). We have several main boxes that hold both our COM and our web application. When a user logs in, they get tied to one of those boxes for the rest of their session. We have 15-20 queues on each machine that control the flow of our processess (several different hierarchies with several branch levels below each). Sometimes we reroute one of the queue trees to another box to offload some of the processing.
 
Microsoft recommends using WCF over .NET remoting these days.

We've been using SOAP for several years as well. The majority, if not all, of our queues sit on one box (we have a few processes that I don't deal with often so I'm not sure about those). We have several main boxes that hold both our COM and our web application. When a user logs in, they get tied to one of those boxes for the rest of their session. We have 15-20 queues on each machine that control the flow of our processess (several different hierarchies with several branch levels below each). Sometimes we reroute one of the queue trees to another box to offload some of the processing.

Ah! Don't listen to me I was completely confused at what WSF was. (Too many acronyms!) I see it is part of the Orcas release upcoming ,NET 3.5. I haven't used any of it yet myself so I can't help.
 
Microsoft recommends using WCF over .NET remoting these days.

We've been using SOAP for several years as well. The majority, if not all, of our queues sit on one box (we have a few processes that I don't deal with often so I'm not sure about those). We have several main boxes that hold both our COM and our web application. When a user logs in, they get tied to one of those boxes for the rest of their session. We have 15-20 queues on each machine that control the flow of our processess (several different hierarchies with several branch levels below each). Sometimes we reroute one of the queue trees to another box to offload some of the processing.


What types of software do you use for debug tracing for this type of system? I was looking into EIF (Enterprise Instrumentation Framework). But, MS doesn't seem to have migrated it to 2.0 yet...
 
Well, we use a few methods for error handling.

Queued components have a built-in retry and exception model that we use.

We have an exception object that we include in all of our objects where the exception gets thrown up through the call path until it gets to the entry point where it gets logged in the DB and/or event log. We encapsulate this error into XML for transport all the way up though web services and javascript when applicable. This XML will contain all the objects/methods that it went through to show the entire trace stack.

Then we also often have debug code inside of our objects that we can enable by changing a DEBUG flag in that individual objects COM+ constructor string.

We also have trace enabled in our web in our development and staging environments so we can look at the XML inputs, outputs, and SOAP exceptions when applicable.
 
Last edited:
Well, we use a few methods for error handling.

Queued components have a built-in retry and exception model that we use.

We have an exception object that we include in all of our objects where the exception gets thrown up through the call path until it gets to the entry point where it gets logged in the DB and/or event log. We encapsulate this error into XML for transport all the way up though web services and javascript when applicable. This XML will contain all the objects/methods that it went through to show the entire trace stack.

Then we also often have debug code inside of our objects that we can enable by changing a DEBUG flag in that individual objects COM+ constructor string.

We also have trace enabled in our web in our development and staging environments so we can look at the XML inputs, outputs, and SOAP exceptions when applicable.

You use the standard DebugViewer for debugging components? I was looking for something that could coordinate debug information from multiple processes into a single trace facility and support a very high volume of trace activity. Our system does a lot of interacting with 3rd party applications from various vendors. It is critical to have good trace information on hand to determine who is the responsible party when problems occur. We also catch a stack trace with every exception. But, we still occasionally have issues that can cause deadlocks and that is where the trace is vital information to have!
 
Ah, if the method that I describe fails, we turn to a product called AVIcode that we have running on our servers. It handles both exception and performance monitoring.
 
Ah, if the method that I describe fails, we turn to a product called AVIcode that we have running on our servers. It handles both exception and performance monitoring.

Thanks, we use performance monitor that comes with Visual Studio to perform similar diagnostics. I am still looking for something at a lower level.
 
Hey monkeydust, how is your WCF investigation going? I finally got a project that is starting to use this tech and I am very impressed. It is incredible easy to use and replaces just about every RPC mechanism already in place. We don't have anything real up and running yet though. Have you done any load testing yet? I'd be interested in your thoughts...
 
Nope, sorry, I haven't had a chance to work with it yet. Perhaps this weekend that will be my goal.

Last weekend I introduced myself to LINQ. Started out using it to query some array lists, then some tables in the Northwind DB in SQL Server, then I tried Oracle (that's when I found out that Oracle isn't supported :().
 
Back
Top