首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web服务元信息

Web服务元信息
EN

Stack Overflow用户
提问于 2011-01-14 06:45:27
回答 1查看 59关注 0票数 1

例如,我如何向客户端发送元信息。

我有一个web服务(GetProductById)的方法。我的实体产品有带有自定义属性的meta info。

我想要发送给我的客户元信息。现在,我如何才能做到这样或类似的事情呢?

代码语言:javascript
复制
 Product GetProductById(int productId)
 {
   return IProductModel.GetProduct(ProductId);
 }




Public Class Product
{
   [Caption("Product id"]
   int ProductId { get; private set; }

   [Caption("Name of product")]
   string Name { get; set ; }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-20 00:19:16

如果你使用的是WCF,那么首先你需要用ServiceContract来装饰你的类,并且每个要公开的方法都需要是一个OperationContract。要公开DataMember,您的数据类必须为DataContract,并且每个成员都必须为

看看Codeplex上的WCFExtras。它有一个特性,可以在生成的WSDL中包含源代码xml注释。您所需要做的就是在项目中添加一个引用,然后将属性XmlComments添加到您的服务契约的类/接口中。

您的代码将如下所示:

代码语言:javascript
复制
[ServiceContract, XmlComments]
public class WebService 
{

   /// <summary>Returns the product information</summary>
   [OperationContract]    
   Product GetProductById(int productId)
   {
     return IProductModel.GetProduct(ProductId);
   }
}

/// <summary>Summary you want your client to see</summary>
[DataContract]
Public Class Product
{
   /// <summary>Product id</summary
   [DataMember(IsRequired = true)]
   int ProductId { get; private set; }

   /// <summary>Name of product</summary>
   [DataMember(IsRequired = true)]
   string Name { get; set ; }
}

这将确保WSDL包含您添加的注释。还要确保在构建配置中生成Xml文档文件,并确保该文件在运行时可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4686202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档