是否可以公开摘要信息或类似信息来获取消耗的WCF服务上的Intellisense?

时间:2011-02-04 07:24:16

标签: c# wcf intellisense

我有一个WCF服务,其中的方法很多如下所示。现在,我知道<summary>信息没有公开,但我如何才能公开这些信息,以便消费者获得intellisense中的信息?

/// <summary>
/// Obtains a list of agreements for a given dealer
/// </summary>
/// <param name="query">Object identifying the dealer<see cref="AgreementListRequest"/></param>
/// <returns>Object containing a list of all agreements for the provided dealer<see cref="AgreementListResponse"/></returns>
[OperationContract]
[FaultContract(typeof(DatabaseFault))]
[FaultContract(typeof(ServiceAgentFault))]
AgreementListResponse GetAgreements(AgreementListRequest request);

1 个答案:

答案 0 :(得分:5)

这些代码注释仅存在于服务器中 - 它们是注释,并且它们是特定于.NET的,因此在为WCF服务创建客户端代理时,它们不会通过网络传输。

我看到的只有一种方法可以让你得到你想要的东西:如果你控制线的两端,例如如果您同时编写服务(服务器)和客户端,则可以将服务和数据协定放入单独的Contracts程序集中,然后在服务和客户端代码之间共享该程序集。在这种情况下,您的客户端代码将使用完全相同的文件,因此可以访问代码注释,那些将在intellisense中呈现

我偶然发现的第二个选项是WCFExtras - 一个Codeplex项目,它有一些WCF扩展。您可能感兴趣的是扩展,它将服务器端的XML代码注释呈现为WSDL中的xsd:documentation标记,并返回到客户端的XML代码注释(使用.NET客户端时)。 / p>

  

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