[
https://issues.apache.org/jira/browse/THRIFT-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kieran Benton updated THRIFT-1489:
----------------------------------
Attachment: 0002-Added-support-for-Thrift-comments-converting-them-to.patch
> 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
> Attachments:
> 0001-Added-a-binding-option-csharp-wcf-http-testnamespace.patch,
> 0002-Added-support-for-Thrift-comments-converting-them-to.patch
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> 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.
> 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.
> 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.
> Usage of the option is as follows:
> .\thrift.exe -o .\outputdir\ --gen
> csharp:wcf=http://mynamespace.com/services/ definition.thrift
> Pretty simple :)
--
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