2013-12-16 5 views
0

제 서비스 응용 프로그램에서 호출 한 ASP.Net 웹 API를 사용하고 있습니다. 내가 크롬 우체부에서 그것을 테스트하면 로컬 호스트와 배포 된 서버에서 제대로 작동하지만 피들러에서 시도해 보았고 문자열을 val이 항상 null 인 경우 다른 것을 추가해야합니까? 나는 그것이 왜 우체부에서 잘 작동하는지 이해할 수 없다! 이거 좀 미치겠 군! 사전ASP.Net 웹 API 매개 변수가 null입니다.

public bool PostProperty([FromBody] string val) 
{ 
    try 
    {   
     var reader = new StringReader(val); 
     var serializer = new XmlSerializer(typeof(property)); 
     var instance = (property)serializer.Deserialize(reader); 
    } 
} 
+0

그럼 네가 보낸 요청은 어디 있니? –

+0

xml을 문자열로 보내는 타사 응용 프로그램 – Simon

+0

좋습니다. 그럼 요청은 어디 있습니까? 요청을 보지 않고 요청이 바인딩되지 않는 이유를 알려주는 사람은 누구입니까? –

답변

2
에서 덕분에, 당신의 서명이

public async Task<bool> PostProperty() 
{ 
    try 
    {   
     var reader = new StringReader(await Request.Content.ReadAsStringAsync()); 
     var serializer = new XmlSerializer(typeof(property)); 
     var instance = (property)serializer.Deserialize(reader); 
    } 
} 

또는

public bool PostProperty([FromBody] property val) 
{ 

} 

두 번째 옵션을 할 경우, 당신은 당신의 설정에 다음 행을 추가해야 할 수도로 변경

config.Formatters.XmlFormatter.UseXmlSerializer = true; 
+0

당신은 천재 같아 보이고 작동했습니다! 감사합니다 – Simon

+0

Opps가 너무 빨리 말했고, 현재 점점 XML 문서 (1, 1) – Simon

+0

에서 오류가 발생하여 경로에 잘못된 문자가 표시됩니다. – Simon

관련 문제