2016-09-26 5 views
2

Использование метода расширения PutAsJsonAsync для HttpClient в asp.net mvc 5 возвращает исключение, зависящее от цикла реферирования.Исключительный цикл привязки с использованием HttpClient PutAsJsonAsync Extension

Вот код вызова:

httpClient.BaseAddress = _uri; 
HttpResponseMessage response = await httpClient.PutAsJsonAsync<b>("index/1",b); 
response.EnsureSuccessStatusCode(); 

Объект б действительно есть ссылка сама.

Так что мой вопрос: как установить SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore в приложении asp.net mvc 5.

ответ

2

Одним из способов решения этой проблемы является переход от использования метода расширения PutAsJsonAsync к использованию метода расширения PutAsync и явно задание MediaTypeformatter.

var jsonformatter = new JsonMediaTypeFormatter(); 
jsonformatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; 

HttpResponseMessage response = await httpClient.PutAsync<b>("index/1",b,jsonformatter); 
response.EnsureSuccessStatusCode(); 

Это позволяет использовать любые настройки, которые вам нужны.

 Смежные вопросы

  • Нет связанных вопросов^_^