You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (Commented) (JIRA)" <ji...@apache.org> on 2012/01/16 23:27:38 UTC

[jira] [Commented] (THRIFT-1489) Add support for WCF bindings (optionally) to C# compiler, allowing web service usage of Thrift generated code

    [ https://issues.apache.org/jira/browse/THRIFT-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13187261#comment-13187261 ] 

Bryan Duxbury commented on THRIFT-1489:
---------------------------------------

Any Csharp people lurking about to give this a review?
                
> 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
>
>   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