我如何向客户发送元信息,例如。
我有这个方法什么是Web服务(GetProductById)。我的实体产品包含带有自定义属性的元信息。
我想发送给我的客户元信息。现在我该怎样做这类或类似的东西?
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 ; }
}
答案 0 :(得分:0)
如果您正在使用WCF,那么首先需要使用ServiceContract来装饰您的类,并且每个要公开的方法都需要是OperationContract。您的数据类需要是DataContract,每个成员都需要公开[DataMember]
在codeplex上查看WCFExtras。 它具有在生成的WSDL中包含源代码xml注释的功能。 您需要做的就是在项目中添加一个引用,然后将属性[XmlComments]添加到您的服务合同的类/接口中。
您的代码如下所示:
[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文档文件,并在运行时提供该文件。