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

        

Reply via email to