记录WCF接口的最佳方法是什么?

所以我正在使用WCF,并希望记录我的界面和服务,以便为另一家公司提供内部应用程序。 记录这些界面的最佳方法是什么? 我更喜欢将文档与代码内联,然后对输出HTML有一些美化,但我不确定是否有推荐的方法来执行它。

为此使用XML文档。 有很多智能元标记允许您将代码示例放入其中,操作之间的引用,抛出exception等。

然后你可以使用Sandcastle(你可以在Codeplex上找到一些GUI)来生成chm或html文档。

我们使用WCFExtras( http://www.codeplex.com/WCFExtras )。

除了其他function之外,它还允许将代码xml注释实时导出到生成的WSDL中,例如检查这些xml注释的方式:

///  /// Retrieve the tickets information for the specified order ///  /// Order ID /// Tickets data [OperationContract] TicketsDto GetTickets(int orderId); 

反映在该接口的WSDL中:

     Retrieve the tickets information for the specified order  Order ID Tickets data     

他们的文档摘录:

从源代码XML注释添加WSDL文档此扩展允许您直接从源文件中的XML注释添加WSDL文档(annotaiton)。 这些注释将作为WSDL的一部分发布,并且可用于知道如何利用它们的WSDL工具(例如Apache Axis wsdl2java和其他)。 Release 2.0还包括一个客户端WSDL导入器,它将这些WSDL注释转换为生成的代理代码中的XML注释。

我使用两个XSL文件 – 一个用于记录操作的WSDL,一个用于记录传递的数据的XSD。

不幸的是,到目前为止,我还没有找到一个统一的解决方案,所以我使用了两个XSLT文件,它们分别将WSDL和XSD转换为HTML文档。

WSDL Viewer完成WSDL的工作并生成第一个HTML文档, xs3p对XSD文件中包含的数据执行相同的操作。

使用编译器的XML输出很不错……但是根据我的经验,很难表达服务的完整复杂性,而且仅在评论中就是预期的不变量,依赖关系等。 你最好维护一个单独的真实文档(Word,HTML,Wiki)来覆盖它。

我将我的接口契约放入一个共同的dll并将其交给我。 它给出了合同上的xml注释,但没有提供服务的详细信息,也允许它们以离线模式实现服务以进行测试,直到它们准备好使用它为止。 最重要的是,他们可以绕过wsdl并使用ChannelFactory创建一个频道。