XML 注释未出现在 WCF 服务中

Posted

技术标签:

【中文标题】XML 注释未出现在 WCF 服务中【英文标题】:XML Comments not appearing in WCF Service 【发布时间】:2011-03-15 10:29:36 【问题描述】:

我有一个 WCF 服务,并评论我的运营合同如下:

    /// <summary>
    /// Call to topup a card.
    /// </summary>
    /// <param name="topUp">The TopUp object which specifies the card to topup.</param>
    /// <returns>Returns a boolean indicating whether call has finished successfully.          </returns>
    [OperationContract]
    bool UploadTopUp(TopUp topUp);

但是,我在上面的 3 个正斜杠中放置的 XML cmets /// 没有出现在使用它的客户端应用程序的工具提示中,这是标准的 WCF/Web 服务功能吗?他们永远不会出现吗?或者有没有办法让它们出现?

【问题讨论】:

【参考方案1】:

Xml Doc cmets 通常不会集成到为 WCF 服务生成的 WSDL 中。此信息通常仅在适当的 xml 文档文件与直接引用的程序集位于同一位置时可用。

生成的 WSDL(或 MEX 端点提供的元数据)中包含的唯一信息是合约属性本身的属性。检查以下文档:

ServiceContract OperationContract DataContract DataMember MessageContract MessageHeader MessageBodyMember FaultContract

【讨论】:

谢谢,有没有办法将 XML 与引用它的客户端共存?以某种方式强制它? 只有当它直接匹配生成它的程序集时,才会使用 XML。您可以将它放在客户端的 bin 文件夹中,但它不会做任何事情。您可以重命名文件以匹配包含客户端 WCF 代理的 .dll。代理类型将在不同的命名空间中,它们不会直接匹配源类型,因此无法保证。 这真是太可惜了......我想知道是否有任何方法可以扩展生成 Reference.cs 的过程以同时拉出 cmets。

以上是关于XML 注释未出现在 WCF 服务中的主要内容,如果未能解决你的问题,请参考以下文章

WCF服务操作未更新

在类库中使用 WCF 服务时出错

WCF 服务 SecurityNegotiationException

WCF 协议异常

使用连接到 WCF 服务的 Java 客户端在 XML 正文中嵌入 XML 指令

如何将纯文本发布到 WCF 服务,即不包含在 XML 标记中?