[Mono-bugs] [Bug 679702] New: WCF endpoint behaviors not applied
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Mar 15 06:31:11 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=679702
https://bugzilla.novell.com/show_bug.cgi?id=679702#c0
Summary: WCF endpoint behaviors not applied
Classification: Mono
Product: MonoTouch
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Class Libraries
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: anthony at caterxpress.com
QAContact: mono-bugs at lists.ximian.com
CC: anthony at caterxpress.com
Found By: Community User
Blocker: ---
We are attempting to access WCT REST services via MonoTouch, which requires us
to use a different binding than the standard WSHttpBinding. Our binding must
use manual addressing due to the nature of REST services, which can only be
achieved by adding a behavior to the binding.
However due to a compiler directive in
System.ServiceModel.Description.ServiceEndpoint, no behaviors are ever applied
to a binding:
internal ClientRuntime CreateRuntime ()
{
ServiceEndpoint se = this;
var proxy = se.Contract.CreateClientRuntime ();
#if !NET_2_1
foreach (IEndpointBehavior b in se.Behaviors)
b.ApplyClientBehavior (se, proxy);
foreach (IContractBehavior b in se.Contract.Behaviors)
b.ApplyClientBehavior (se.Contract, se, proxy);
#endif
return proxy;
}
Without these you cannot control manual addressing, such as setting the "To"
message header (among many other things you can't do). In Silverlight, WCF
behaviors are fully supported.
In the ChannelFactory class, you have allowed another behavior method to be
executed by including monotouch in the directive:
BindingParameterCollection CreateBindingParameters ()
{
..
#if !NET_2_1 || MONOTOUCH
foreach (IEndpointBehavior behavior in Endpoint.Behaviors)
behavior.AddBindingParameters (Endpoint, pl);
#endif
return pl;
}
I'm hoping you can also add MONOTOUCH to the directive in
ServiceEndpoint.CreateRuntime(). Without this it's virtually impossible to use
alternate WCF bindings & behaviors.
For completeness, I also suggest adding the MONOTOUCH directive to the Validate
method in the ServiceEndpoint class.
Thanks,
Anthony.
--
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