Bill Dunlop's profileServices with Fricken La...BlogLists Tools Help

Services with Fricken Lasers - A WCF blog

Bill Dunlop

No list items have been added yet.

Feed

The owner hasn't specified a feed for this module yet.
June 06

WCF, MSMQ, and The Transactional Dead Letter Queue

 
Sometimes bad things happen and messages wind up on the TransactionalDeadLetterQueue (XDLQ).  Recently, this happend to me and I needed to process these messages as if they had never been put on the XDLQ.  I figured, it was a simple as changing the service configuration to point to the XDLQ.... Well, it was almost that simple.  First, I changed the client endpoint address of the service that normally processed the logging messages to point to the TransactionalDeadLetterQueue. 
 
<client>  
    <
endpoint address="net.msmq://NameOfMachineWhereTheMessagesAreStuck/system$;DeadXact"
     binding="netMsmqBinding"
     bindingConfiguration="SystemDLQBinding"
     contract="ProcessDriven.ProjectName.Contracts.ILoggingService"/>
 </client>
 
I started up the service and the messages dissapeared from the XDLQ when I refreshed it as I expected.  However, no new log entries hit the database.   When I stopped the service, I noticed that the TransactionalDeadLetterQueue was full again. Hmmm what was this all about?  So.. I configured the service to write some tracing by adding
 
<system.diagnostics>
      <sources>
            <source name="System.ServiceModel"
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener"
                   type="System.Diagnostics.XmlWriterTraceListener"
                   initializeData= "c:\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
 
to the configuration file, and then I busted out SvcTraceViewer.exe.  I quickly found an error telling me
 
The message with To 'net.msmq://NameOfMachineWhereTheMessagesAreStuck/Logging' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher.  Check that the sender and receiver's EndpointAddresses agree.
 
After a little digging I found that this was caused by the default service behavior for matching Endpoints.   I went to the service implementation class and added the following attribute

[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]

I recompiled and Taaadaaaah...  All goodness.... happing Servicing...

January 09

Back from Calgary

 
Hi all, ..
 
I am back from the West...  Calgary is really dry compared to Toronto.  I Learned a bunch of really cool stuff from a WCF Master while I was out there.   There is a lot of information for me to assimilate, but I feel like I know a lot more about WCF than I did just a week ago.  
 
I also had a chance to visit my good friend Chris Knight while I was out there.  Good times in the Hot Tub...
 
FYI.  They changed the date for BARCamp to this Sat. and now I am unable to go... sorry to anyone who was thinking of hooking up with me the day of the event.   
December 27

BarCamp..

Hey there readers,,,, Just to let you know that I will be leading a session on WCF at BarCamp.. (Not to be confused with CodeCamp)  There are still a few spots if people are interested in attending...  here is a link.
 
December 13

Second Annual Toronto Code Camp ! ! !

Hello readers... I Just wanted to let you know that I will be speaking at the Second Annual Toronto Code Camp, a free .NET community sponsored event, on March 31st, 2007.

Last years event was a huge success with over 220 attendees, 4 tracks, 20 speakers, 25+ volunteers and over $17,000 in prizes given away. This year’s event will be even bigger and better!

Registration is now open, but space is limited and based on last years response it will fill up fast.

Register at www.torontocodecamp.net

 

 

November 04

Essential Windows Workflow Foundation Services book!!

I know it has been a few days since I last blogged on WF, or anything really. I have been pretty busy with projects (business and personal) and also took a good kick in the posterior from the flu. I am just recovering.   At any rate, my book (Essential Windows Workflow Foundation Services) finally came from chapters.  I stayed up late reading the first chapter  ("Deconstructing WF") last night .  I am pretty eager to get back to this book now.  If you are interested in WF, this is the book to get.  The author has an exceptionally readable and engaging way with his writing that I think other coders will find refreshing.  TTFN.