У меня есть проект webapi mvc4 rc и веб-приложение mvc4 rc, развернутое на сервере.Нет MediaTypeFormatter доступен для чтения после развертывания для prod
Локально все работает правильно, однако на сервере я получаю сообщение об ошибке
2012-06-09 03: 18: 18659 [23] INFO WebApplication.Controllers.AccountController - System.InvalidOperationException: Нет MediaTypeFormatter не доступен для чтения объекта типа «Бизнес» из содержимого с типом носителя '' undefined ''. на System.Net.Http.HttpContentExtensions.ReadAsAsync [T] (HttpContent содержания, типа типа, IEnumerable
1 formatters, IFormatterLogger formatterLogger) at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, IEnumerable
1 форматтеры) на WebApplication.Repository.BusinessRepository.GetByUserId (Guid USERID) в C: \ \ @ Кодекса WebApplication \ Repository \ BusinessRepository.cs: строка 37 в WebApplication.Controllers.AccountController.SignIn (модель LogOnModel, String returnUrl) в C: \ @ Code \ WebApplication \ Controllers \ AccountController.cs: строка 61 .
Мой код, который пытается вызвать сервис выглядит
var url = ApiRestHelper.ApiUrl(ApiEndPointConstants.GetBusinessByUserId, "userId", userId.ToString());
var service = ApiRestHelper.Get(url).Content;
var data = service.ReadAsAsync<Business>().Result;
HttpContext.Current.Session["BusinessInfo"] = data;
return data;
public static HttpResponseMessage Get(string apiMethod, string baseAddress)
{
var myHttpClient = new System.Net.Http.HttpClient
{
BaseAddress = new Uri(baseAddress)
};
var get = myHttpClient.GetAsync(apiMethod);
var x = get.Result;
return x;
}
Что я делаю не так?
Установлен ли MVC4 на сервер, который вы развертываете? – Jesse
Привет, Джесси, Да, у меня он установлен –
Та же версия MVC4 как на сервере, так и на ПК разработки? Есть некоторые отличия в связующем устройстве модели, которые могут объяснить эту проблему. http://stackoverflow.com/questions/10934077/upgrading-to-mvc4-rc-no-mediatypeformatter-is-available-to-read-an-object-of-ty –