[ https://issues.apache.org/jira/browse/THRIFT-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13187563#comment-13187563 ]
Kieran Benton commented on THRIFT-1489: --------------------------------------- For anyone who's interested there's two rough areas to this: A) my use of csharp:wcf=... to set the namespace. I would have preferred to have used a namespace decl in the file itself but couldn't see a way in the generators to easily access that B) the uses of wcf faults and how they interact with thrift exceptions. Such a shame you can't mark a .net exception with the datacontract attribute and have it work properly. - Sent from a mobile Blackberry device > 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