可以';t将类的实例传递给WCF服务
本文关键字:实例 服务 WCF 可以 | 更新日期: 2023-09-27 17:57:33
这是我编写的代码。但是加乘积的方法不起作用。有谁能帮我吗?
public class Sales : ISales
{
ArrayList plist;
public Sales()
{
plist = new ArrayList();
plist.Add(new Product() { productId=1,name="com",description="fsf",price=2000});
}
public void addProduct(Product p)
{
plist.Add(new Product() { productId = 2, name = "com", description = "fsf", price = 2000 });
}
}
这是接口类。获取价格的方法正在发挥作用。但get product方法不起作用。我不明白问题出在哪里。
namespace WcfService2
{
[ServiceContract]
[ServiceKnownType(typeof(Product))]
public interface ISales
{
[OperationContract]
double getprice(int id);
[OperationContract]
Product getProduct(int pid);
[OperationContract]
void addProduct(Product p);
}
//need to have datacontarct for composite data type
[DataContract]
public class Product
{
[DataMember]
public int productId { set; get; }
[DataMember]
public string name { set; get; }
[DataMember]
public string description { set; get; }
[DataMember]
public double price { set; get; }
}
}
addProduct
方法的实现似乎不正确。你已经声明了一个参数,但你没有使用它。如果你想把作为参数传递的产品添加到你的列表中,你应该使用:
public void addProduct(Product p)
{
plist.Add(p);
}