tonynhan / protobuf-net

Automatically exported from code.google.com/p/protobuf-net
Other
0 stars 0 forks source link

protogen - alternate asynchronous client proxy #53

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I see that the asynchronous support has been changed recently.  Here is an
alternate approach similar to what svcutil generates.

Basically generates asynchronous methods in the service stub and an
optional client template for calling them methods.

I've tested with SOAP/WCF for compatibility and it works reasonably well
for me.  For what its worth I would like to use pb where possible but have
a SOAP compatible interface for clients that cannot use WCF at the moment.

Major issues with this approach is that there is no way to properly
attribute the service contract with the CallbackContract, AsyncPattern,
IsOneWay, IsInitiating, IsTerminating, SessionMode, ... type attributes.

Note that I could alter the xslt to do add these but the XML Serializer for
FileDescriptorProto does not export options on service or rpc objects.

Original issue reported on code.google.com by abbott.t...@gmail.com on 18 Mar 2009 at 4:38

Attachments:

GoogleCodeExporter commented 9 years ago
For info, the client/rpc stuff is in progress, and not (AFAIK) in the release 
dll. I 
will look, though.

Original comment by marc.gravell on 18 Mar 2009 at 8:48

GoogleCodeExporter commented 9 years ago
Applied; thanks for the input; note that the in-progess non-WCF client wont 
need 
separate proxies (see my blog for why)

Original comment by marc.gravell on 18 Mar 2009 at 9:22

GoogleCodeExporter commented 9 years ago
I understand that RPC support is in progress especially since there is no cross
client standards at the moment.  I'll check out your blog.

Original comment by abbott.t...@gmail.com on 18 Mar 2009 at 10:00

GoogleCodeExporter commented 9 years ago
By the way - I applied the patch, but I'm still half-tempted to rename the xslt 
arguments to have the "wcf" prefix - i.e. wcfProxy and wcfAsync (or something 
like 
that). Simply that the implementation is very WCF-specific.

Original comment by marc.gravell on 18 Mar 2009 at 10:20

GoogleCodeExporter commented 9 years ago
The blog entry of note is:
http://marcgravell.blogspot.com/2009/03/explaining-expression.html

Original comment by marc.gravell on 18 Mar 2009 at 10:22

GoogleCodeExporter commented 9 years ago
Not a problem with the wcf stuff.  I was half tempted to leave the proxy out of 
file
and create a separate xslt myself.

Original comment by abbott.t...@gmail.com on 19 Mar 2009 at 4:09

GoogleCodeExporter commented 9 years ago
That would work too. It is frustrating that the T4 bits aren't standalone until 
4.0 - 
things might be easier with that as the back-end. Still, it works. It seems 
that xslt 
isn't a widespread skill, though.

Original comment by marc.gravell on 19 Mar 2009 at 9:32