Add support for WCF bindings (optionally) to C# compiler, allowing web service
usage of Thrift generated code
-------------------------------------------------------------------------------------------------------------
Key: THRIFT-1489
URL: https://issues.apache.org/jira/browse/THRIFT-1489
Project: Thrift
Issue Type: New Feature
Components: C# - Compiler
Reporter: Kieran Benton
Priority: Minor
As in the summary, I've modified the C# compiler to have an additional optional
parameter "wcf" which has a root URI namespace passed to it. If these are
present, the compiler will add [ServiceContract], [OperationContract],
[DataContract], [DataMember] and [FaultContract] attributes to the
appropriately generated entities.
I've added provisional support for WCF "faults" by generating a corresponding
"fault" class for each generated Thrift exception. It's not possible to add
[DataContact] to generated exceptions as the base "Exception" class has support
for ISerializable which WCF does not like. Possibility of modifying the C#
library to handle throwing of faults and convert to the "thrift exception"
counterpart if there is one? Workable for now though.
The big win here is that this essentially allows a server to handle both Thrift
or XML/SOAP/JSON with little difference - a big issue for interoperability with
external clients within a enterprise environment.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira