<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Heinrich's Thoughts on Development</title><subtitle type="html" /><id>http://blogs.msdn.com/heinrichg/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/heinrichg/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/heinrichg/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-02-07T09:44:00Z</updated><entry><title>Extending WCF for Legacy Protocol Support</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/heinrichg/archive/2008/02/07/extending-wcf-for-legacy-protocol-support.aspx" /><id>http://blogs.msdn.com/heinrichg/archive/2008/02/07/extending-wcf-for-legacy-protocol-support.aspx</id><published>2008-02-07T17:44:00Z</published><updated>2008-02-07T17:44:00Z</updated><content type="html">&lt;P&gt;I recently had a customer with the following project. A new software system is being build based on a SOA approach. Unfortunately, at least one client is a legacy mainframe socket application with a positional message format. The traditional approach for this problem is to write custom threading and socket code. This often leads to unreliable and hard to maintain code that lacks flexibility to support additional message protocols in a coherent manner.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;After a thorough investigation it was decided to utilize the extensibility points in Windows Communications Foundation’s (WCF) to implement the solution. I posted a derived (simplified) code sample and a whitepaper on &lt;A href="http://code.msdn.microsoft.com/WcfBinaryTcpExt" mce_href="http://code.msdn.microsoft.com/WcfBinaryTcpExt"&gt;http://code.msdn.microsoft.com/WcfBinaryTcpExt&lt;/A&gt;. Lenny Fenster and Simon Gurevich helped me with this effort.&lt;/P&gt;
&lt;P&gt;I will discuss a few specific aspects of the source code in more detail at a later date.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7517631" width="1" height="1"&gt;</content><author><name>heinrichg</name><uri>http://blogs.msdn.com/members/heinrichg.aspx</uri></author><category term=".NET" scheme="http://blogs.msdn.com/heinrichg/archive/tags/.NET/default.aspx" /><category term="Legacy Protocol" scheme="http://blogs.msdn.com/heinrichg/archive/tags/Legacy+Protocol/default.aspx" /><category term="sockets" scheme="http://blogs.msdn.com/heinrichg/archive/tags/sockets/default.aspx" /><category term="TCP" scheme="http://blogs.msdn.com/heinrichg/archive/tags/TCP/default.aspx" /><category term="Windows Communication Foundation" scheme="http://blogs.msdn.com/heinrichg/archive/tags/Windows+Communication+Foundation/default.aspx" /><category term="WCF" scheme="http://blogs.msdn.com/heinrichg/archive/tags/WCF/default.aspx" /><category term="Threading" scheme="http://blogs.msdn.com/heinrichg/archive/tags/Threading/default.aspx" /><category term="C#" scheme="http://blogs.msdn.com/heinrichg/archive/tags/C_2300_/default.aspx" /></entry></feed>