We are using EMS(.Net DLL, TIBCO.EMS.dll, version 4.3.0) as the middleware to communicate between .Net process and backend process. We met the “stream does not support reading” error several times before. The application exception occurred, then our application crashed and exit.
And our user met the same issue on prod.
=====================================================================================================
System.InvalidOperationException: The stream does not support reading.
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at TIBCO.EMS.LinkTcp._ReadWireMsg()
at TIBCO.EMS.LinkTcp.LinkReader.Work()
at TIBCO.EMS.LinkTcp.LinkReader.Run()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
======================
I searched this error in Tibco Site and below is the tibco solution, They suggested to upgrade the EMS 4.4 version. Please check it below.
==========================================================================================================================================================
Solution ID: | FAQ1-8TPW8T | Approved Date: | 03/19/2008 |
OS: | Windows Server 2003 | Scope: | Customer |
Product / version: | TIBCO Enterprise Message Service / 4.3.0 | Status: | Approved |
Title: |
When would the .NET client give the following exception?
System.InvalidOperationException : {"The stream does not support reading."}
Body: |
This exception could be thrown at the creation of the stream: TcpClient.GetStream(), when EMS .NET library used it for sending/receiving data. i.e. the open socket could not be used for read at that point of time. This is not a problem with EMS API; rather it might be a problem with Microsoft.
Solution: The issue was happening while using EMS 4.3 libraries with .NET 2.0 frameworks, which was not tested with EMS 4.3 dll. After upgrading to EMS 4.4, such exceptions were not occurring any more.
Attachments: |
Keywords/Tags: |
.net "The stream does not support reading."