public HttpResponseMessage Get([FromUri]int oid)
{
var orderdetails = _orderServices.GetOrderDetails(oid);
var xml = new XmlMediaTypeFormatter();
xml.UseXmlSerializer = true;
string orderdetailsser = Serialize(xml, orderdetails);
var result = PostXml(orderdetailsser);
return Request.CreateResponse(HttpStatusCode.OK);
}
public static async Task<HttpResponseMessage> PostXml(string str)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:58285/");
var content = new StringContent(str);
var response = await client.PostAsync("api/default/ReceiveXml", content).ConfigureAwait(false);
return response;
}
}
그리고 WebApi2 :
[System.Web.Http.HttpPost]
public HttpResponseMessage ReceiveXml(HttpRequestMessage request)
{
var xmlDoc = new XmlDocument();
xmlDoc.Load(request.Content.ReadAsStreamAsync().Result);
xmlDoc.Save(@"C:\xmlfiles\xml2.xml");
XmlSerializer deserializer = new XmlSerializer(typeof(OrderInfoModel));
TextReader reader = new StreamReader(@"C:\xmlfiles\xml2.xml");
object obj = deserializer.Deserialize(reader);
OrderInfoModel orderdetails = (OrderInfoModel)obj;
reader.Close();
var patient_id = _patientServices.ProcessPatient(orderdetails.Patient, orderdetails.OrderInfo);
var orderid = _orderServices.ProcessOrder(orderdetails.Patient, orderdetails.OrderInfo, patient_id);
if (orderdetails.OrderNotes != null && orderdetails.OrderNotes.Count() > 0)
{
var success = _orderServices.ProcessOrderNotes(orderid, orderdetails.OrderNotes);
}
var prvid = _orderServices.ProcessOrderProvider(orderid, orderdetails.ReferringProvider);
var shpngid = _orderServices.ProcessOrderShipping(orderid, orderdetails.ShippingInfo);
var payerid = _orderServices.ProcessOrderPayer(orderid, orderdetails.Insurances);
return Request.CreateResponse(HttpStatusCode.OK, orderid);
}
내가 WebAPI 2에서 다시 WebAPI 1에 대한 반응을 얻고 있지 않다 나는 여러 기사를 통해 갈
다음은 WebAPI 1입니다 교착 상태 상황에 대한 온라인. 그러나, 나는 나의 경우에 교착 상태를 해결할 수 없습니다. 여기서 내가 뭘 잘못하고 있니? async
및 await
을 제대로 사용하고 있습니까?
는 https://stackoverflow.com/questions/17248680/await-works-but-calling에서 클래식 교착 상황, 답변을 것 같은데 -task-result-hangs-deadlocks –
안녕하세요 Orel Eraki - 내가 제안한 기사를 읽었습니다. 교착 상태를 해결할 수 없습니다. –
[작업 대기 중이지만 호출 대기중인 작업의 가능한 복제본입니다. 결과가 응답하지 않습니다/교착 상태] (https://stackoverflow.com/questions/17248680/await-works-but-calling-task-result-hangs-deadlocks) –