[Mono-dev] Two questions about .net/mono internals
lgreg.meredith at gmail.com
Thu Aug 3 15:40:42 EDT 2006
i'm in the process of writing a gateway application. It speaks SOAP out of
one side of it's mouth and a proprietary network application protocol out
My application would be much more beautiful and easy to maintain if i had
the following two bits of interface to .net/mono capability.
1. i want to trampoline incoming webmethods to invocations to send an
appropriately formatted message to a tcp stream connected to my app. That
is, i would like to get the current (web) method and it's arguments. i would
prefer not to copy the incoming arguments to an invocation but to
generically call an api that will return a data structure providing all the
information associated with the method invocation, including method name and
actuals (a.k.a. arguments). i can then pass this data structure to my stream
formatter to format appropriately for the network stream.
2. i would like to have the format of the .net/mono binary formatter. It
does the work i need to do except that it puts some extra stuff into the
stream. Currently, i have a hack in which i drop markers into the stream and
pull out the bytes between the markers to get the appropriately formatted
bytes for the packet i need to send. Obviously, this is a brittle solution.
If i had the format the binary serializer uses, then i could extract them in
a better way. Even better, if i had an API that allowed me to extract
naturally distinct pieces, e.g. just member data, excluding class name or
member name data or even size information, then i could have a very robust
and generic application.
In fact, i would argue that with the two pieces of API you have a generic
framework for writing such gateway applications and considering the number
of proprietary protocols there are in the world, this probably has wide
Any help would be greatly appreciated.
505 N 72nd St
Seattle, WA 98103
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list