4

I have a self hosted WCF service which works over a TCP channel.

This behaves well except on all Win7 machines belonging to one customer (these are on a domain).

On these machines, despite using a TCP channel, some .NET internals seem to go haywire and I get a pipe related error:

"There was an error reading from the pipe: Unrecognized error 109 (0x6d).

System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)."

I have tried running the service as a domain admin, in case permissions were part of the problem, without any success.

I have the same code installed on another Win7 (non domain machine), XP and Server OS's without problem.

Dor Cohen
  • 16,769
  • 23
  • 93
  • 161
BarneyHDog
  • 500
  • 1
  • 4
  • 11
  • There might be a firewall/ antivirus blocking the program from reading . Try to check if the program's TCP port is not being blocked by either of them – Rajesh Jun 07 '12 at 11:15
  • Thanks for the suggestion however the trace shows the WCF server is getting the initial request from the client. The problem is with the .NET internals. – BarneyHDog Jun 07 '12 at 12:16

2 Answers2

4

Maybe it's has a connection to transfer mode.

try changing the transfer mode from buffered to streamed -

http://msdn.microsoft.com/en-us/library/ms731913.aspx

Dor Cohen
  • 16,769
  • 23
  • 93
  • 161
  • 1
    When I come across the same answer that already solved the same issue for me, I wish I could upvote twice. – Maloric Sep 13 '13 at 15:08
0

The problem may occur because of invalid data.

I fixed it by stepping into my code until finding an exception (with the creation of a DTO object). After I removed the entry from the database, the bug got fixed.

typhon04
  • 2,350
  • 25
  • 22