I'm starting the process of creating API documentation for a web service
API that my company is writing in C#, and am looking for advice on how to
generate that documentation as automatically as possible. I've looked into
various options, and none of them seem quite right for web service clients.

First I looked at using the Description property of the WebMethod
attribute, but that doesn't really give you much room or flexibility for
generating detailed API documentation. Plus, it's not internationalizable.

Next, I looked at running NDOC on the web service assembly, which would be
great (killer tool) except that it generates documentation for the server-
side code, which doesn't necessarily match the client-side proxy code (for
example, server-side collections become client-side arrays). Plus, it
includes base-class code which is .Net specific (like ToString()), and I'd
like to keep it moderately high level. If you look at the documentation for
MapPoint.Net, for example, you'll see that it includes lots of .Net
specific syntax, but the API descriptions are general enough that they
could be translated easily to Java, et al. No ToString and GetHashCode
methods there.

Next, I looked at using NDOC along with a WSDL.EXE-generated proxy and the
<include> documentation comment, keeping the actual documentation in a
separate file. This gets the API right, but I don't really have a good way
of automatically including the documentation elements for ALL the classes
in one shot. As far as I can see the <include> tag is per-class, which
means that I would have to paste in one <include> tag per class in the
generated proxy. Since the WSDL can change (especially now during
development) and require regenerating the proxy, this would result in a
heck of a lot of manual file editing.

Anyone have any other suggestions about how to go about doing this? I'd
really rather not have to hack up the NDOC XSLTs or generate my own.

Thanks,
Kevin

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to