У меня есть служба WCF с конечной точкой webHttpBinding.
[OperationContract(IsOneWay = true)]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/?action=DoSomething&v1={value1}&v2={value2}")]
void DoSomething(string value1, string value2, MySimpleObject value3);
Теоретически, если я это называю, первые два параметра (значение 1 и значение 2) берутся из Uri, а последний (значение 3) должен десериализоваться из тела запроса.
Если я использую Json в качестве RequestFormat, каков наилучший способ сериализации экземпляра MySimpleObject в тело запроса перед его отправкой? Это, например, не похоже на работу:
HttpWebRequest sendRequest = (HttpWebRequest)WebRequest.Create(url);
sendRequest.ContentType = "application/json";
sendRequest.Method = "POST";
using (var sendRequestStream = sendRequest.GetRequestStream())
{
DataContractJsonSerializer jsonSerializer =
new DataContractJsonSerializer(typeof(MySimpleObject));
jsonSerializer.WriteObject(sendRequestStream, obj);
sendRequestStream.Close();
}
sendRequest.GetResponse().Close();