我使用以下端点运行.net 4.0 WCF服务:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "UploadReport")]
bool UploadReport(Report report);
我的客户端是.net 2.0,因此无法在我的对象上使用[DataContract]。我使用Json.net来序列化我的数据,然后将其发送到服务。
string json = JsonConvert.SerializeObject(report);
WebRequest request = HttpWebRequest.Create("http://localhost:51605/QBDHandoffService.svc/UploadReport");
request.Method = "POST";
request.ContentType = "application/json";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Close();
}
var response = (HttpWebResponse)request.GetResponse();
呼叫成功到达服务,但报告'永远是空的。我怀疑是序列化问题,因为我无法在.net 2.0端的对象上粘贴[DataContract],但并不完全确定。当我发送JSON时,JSON看起来不错,这里有什么我想念的吗?我怎么能做到这一点?谢谢!