我在服务器上部署了一个webapi项目mvc4 rc和一个mvc4 rc Web应用程序。
本地一切正常但是在服务器上我收到错误
2012-06-09 03:18:18,659 [23] INFO WebApplication.Controllers.AccountController - System.InvalidOperationException:没有MediaTypeFormatter可用于从媒体类型为“未定义”的内容中读取“商家”类型的对象。 在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent内容,类型类型,IEnumerable
1 formatters, IFormatterLogger formatterLogger) at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, IEnumerable
1格式化程序) 在C:\ @ Code \ WebApplication \ Repository \ BusinessRepository.cs中的WebApplication.Repository.BusinessRepository.GetByUserId(Guid userId):第37行 at WebApplication.Controllers.AccountController.SignIn(LogOnModel model,String returnUrl)in 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;
}
我做错了什么?
答案 0 :(得分:3)
此消息表明您正在尝试从未指定Business
标头的邮件中反序列化Content-Type
的实例。在这种情况下,Web API不知道如何反序列化消息(例如,它不知道它是xml还是json)。您确定在服务器上调用的服务是否返回了正确注释的消息? (您可以检查service.Headers.ContentType属性的值)。