금요일에 RC 이전 버전 인 nuget.org의 ASP.NET 웹 API 릴리스에서 myget.org의 야간 빌드로 업그레이드되었습니다. 예상대로 많은 변경 사항이 있었고 그 중 하나는 해결할 수없는 것으로 보입니다. 우리는 액션을 통해 객체를 반환하고 상태 코드를 201 Created로 설정하는 시나리오가 있습니다. 이것은 아주 쉽게 전에 이루어졌다 (컴파일하지 않을 수 있습니다 - 내 머리의 상단에서 개념 코드) :개체 및 컨트롤 상태 코드 반환
Session session = GetSessionInfo(requestMessage);
var response = new HttpResonseMessage(HttpStatusCode.Created);
response.Content = response.CreateContent(session);
return response;
CreateContent 실제로 ObjectContent의 내부 생성자를 호출 System.Net.Http.HttpResponseMessageExtensions에 위치한 확장 방법이었다. 새 릴리스에서는 HttpResponseMessageExtensions가 새 릴리스에서 사라진 것처럼 보이며 ObjectContent의 내부 생성자도 마찬가지입니다. 지금은 내가 ObjectContent 생성자를 호출해야합니다 것, 그리고 다음은 우리의 필요에 가장 적합한 것 같다 : 내가의 논리에 내용 협상을 혼합, 그것으로 MediaTypeFormatter을 통과 할 것으로 보인다 그러나
public class ObjectContent<T> : ObjectContent
{
public ObjectContent(T value, MediaTypeFormatter formatter)
{
}
}
동작. 우리의 설정 내용 협상은 일반적이며 컨트롤러와 완전히 분리되어 있습니다.
누구든지 시나리오를 해결하여 개체를 반환하고 응답 상태 코드를 설정하지만 MediaTypeFormatter, 미디어 유형 또는 기타 콘텐츠 협상 관련 내용을 처리 할 필요가없는 제안이 있습니까?
감사합니다. @marcind. –