WCF customization

  • Thread starter patrick.soulard
  • Start date


We have an legacy communication protocol exchanging messages between 2

* TCP Based
* Request messages & corresponding Reply messages (no Exception
* Messages contain a header (with functionId & sequenceId) and
optional data ; all in binary ; no XML encoding
* Full-duplex protocol from an application point of vue (each peer
can send Request and receive related Response
* The application just deals with a functional API :

Example :

int DoSomething(int p0, char* p1)

will call the protocol to send one DoSomething Request message
carrying p0 & p1 and to receive the one corresponding Response message
carrying the result

Looks like SOA ;-)

We want to write a new application using .NET (C#) on one side, the
other side running the legacy application & protocol code.

Since I just started learning WCF, I would like to know if it is
possible to customize WCF in order to exchange our legacy messages
with the other side machine running the legacy code and therefere NOT
running WCF.

Starting with the contract like the following

public interface IMyInterface
int DoSomething(int p0, string p1)


what are the steps to proceed (not clear for me if the Custom Message
Formatters do the job)

I guess I have to write

* how to build the Request messages
* how to retrieve these Request messages and to call the service
implementation methods
* how to build teh Response messages
* how to retrieve these Response messages and give the result back
to the client application

In other words, is it possible to use WCF on one side and an other
piece of code NOT WCF on the other side ?

If not of if it costs a lot I will just re-write the communication
protocol in "raw C#" (or using P/Invoke interop)

Thanks a lot for any answer.


You might try posting your question to the MSDN Forum for WCF, or maybe in

Robin S.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question