ASP.NET MVC로 Json출력이 필요하여 WebApi로 Controller를 만들었는데
<Message>오류가 발생했습니다.</Message> <ExceptionMessage> 'ObjectContent`1' 유형에서 콘텐츠 형식 'application/xml; charset=utf-8'의 응답 본문을 직렬화하지 못했습니다. </ExceptionMessage> <ExceptionType>System.InvalidOperationException</ExceptionType>
혹은 영문으로
The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.
위와 같은 에러가 났다.
구글신께 여쭤보니 몇가지 해결책이 있었는데 아래의 방법만 성공하였다.
protected void Application_Start() { GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter); ...
Global.asax파일의 Application_Start()가장 위에 저 2줄을 추가해주면 깔끔하게 해결된다.
참고 : http://stackoverflow.com/questions/12641386/failed-to-serialize-the-response-in-web-api
'개발 > C#, ASP.NET MVC' 카테고리의 다른 글
ASP.NET MVC Web API에서 POST로 데이터 받기 (0) | 2014.09.13 |
---|---|
ASP.NET MVC Web API로 작업할때 세션 사용하기 (0) | 2014.09.13 |
댓글