没有媒体类型格式化程序在部署到生产后可供读取



我在服务器上部署了一个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)。是否确定在服务器上调用的服务返回了正确批注的消息?(您可以检查服务的价值。属性)。

最新更新