[Mono-bugs] [Bug 702532] New: DuplexClientBase Channel Initialization Broken
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Jun 28 00:51:07 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=702532
https://bugzilla.novell.com/show_bug.cgi?id=702532#c0
Summary: DuplexClientBase Channel Initialization Broken
Classification: Mono
Product: Mono: Class Libraries
Version: 2.10.x
Platform: x86-64
OS/Version: openSUSE 11.4
Status: NEW
Severity: Major
Priority: P5 - None
Component: WCF
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: john at crunchylogistics.com
QAContact: mono-bugs at lists.ximian.com
Found By: Development
Blocker: Yes
Created an attachment (id=436994)
--> (http://bugzilla.novell.com/attachment.cgi?id=436994)
Example Application To Reproduce
Description of Problem:
I hesitated to post this report because the problem occurs in really the -MOST-
basic usage of a duplex WCF service that I can fathom, and this has reportedly
been supported for several versions. I am entirely open to the idea that my
energy drink had some kind of hallucinogen in it.
As of Mono 2.10.2, I cannot successfully implement a duplex WCF client/server.
The client fails to initialize when attempting to create the underlying
communication channel. The error is an InvalidCastException thrown during
ClientBase<T>.CreateChannel().
I have isolated this problem to DuplexClientBase<T>, as I can successfully
initialize a simplex client using ClientBase<T>, as well as manually create the
channel by calling DuplexChannelFactory<T>.CreateChannel() and bypassing the
DuplexClientBase<T> helper all together.
Steps to reproduce the problem:
I have provided a very basic example:
* A service contract (ITestContract) which defines a single addition operation,
and is associated with a callback contract (ITestCallbackContract)
* A callback contract (ITestCallbackContract) that defines a simple operation
to send a message back to the client side.
* An implementation of the server (TestServer) and the callback object
(TestCallbackClient)
The setup is dead simple. net-tcp binding, bound to local interface on port
15201.
Actual Results:
Unhandled Exception: System.InvalidCastException: Cannot cast from source type
to destination type.
at
System.ServiceModel.ClientBase`1[Jgh.Test.Program+ITestContract].get_InnerChannel
() [0x00000] in <filename unknown>:0
at System.ServiceModel.ClientBase`1[Jgh.Test.Program+ITestContract].Open ()
[0x00000] in <filename unknown>:0
at Jgh.Test.Program.Main (System.String[] args) [0x00000] in <filename
unknown>:0
Expected Results:
Callback says: Adding 50 and 25 is 75!
Adding server result: 75
How often does this happen?
This examples works out of box on .NET, but fails identically with Mono 2.10.2
on both Windows 7 x64 and OpenSUSE 11.4 x86-64. I have not tested other
platforms or other mono versions.
Additional Information:
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list