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

Yng*_*sen 5 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);
Run Code Online (Sandbox Code Playgroud)

mar*_*c_s 5

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

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

我偶然发现的第二个选项是WCFExtras - 一个Codeplex项目,它有一些WCF扩展.你可能会感兴趣的一个是使你的XML代码注释在服务器端进入扩展xsd:documentation在WSDL标签和回客户端上的XML代码注释(使用.NET客户端时).

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

  • 你好,你能告诉你在客户端做了什么样的"东西"让intellisense工作吗?:).我设法在WSDL文件中有注释,但这些注释没有出现在Visual Studio中.谢谢. (3认同)
  • 试过这个,即使你需要在客户端做一些东西以使intellisense工作,至少它暴露了WSDL中的注释和文档,这是我的主要目标. (2认同)