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