【发布时间】:2017-03-24 06:27:06
【问题描述】:
我有一个这样的类定义:
public class Newuser
{
[DataMember]
public string username { get; set; }
[DataMember]
public List<UserDetail> u_details{ get; set; }
}
public class UserDetail
{
[DataMember]
public string age { get; set; }
[DataMember]
public string gender { get; set; }
}
并声明[OperationContract] 喜欢:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
UriTemplate = "/addUser"
)]
void addUser(Newuser usr);
通常,我使用以下代码来使用 WCF POST:
BudgetTransactionRequest cb = new BudgetTransactionRequest
{
category = "category",
amount = 2000.000
};
WebClient proxy = new WebClient();
proxy.Headers["Content-Type"] = "application/json";
MemoryStream ms = new MemoryStream();
DataContractJsonSerializer serialize = new DataContractJsonSerializer(typeof(CreateBudget));
serialize.WriteObject(ms, cb);
byte[] data = proxy.UploadData("http://localhost:1910/Service1.svc/adduser", "POST", ms.ToArray());
Stream stream = new MemoryStream(data);
DataContractJsonSerializer obj = new DataContractJsonSerializer(typeof(CreateBudget));
但是,当对象包含一个列表时,我很难找到使用此服务的正确方法。如何通过列表传递多个对象参数?
【问题讨论】:
标签: c# asp.net web-services wcf http-post