【发布时间】:2012-06-09 03:23:15
【问题描述】:
我有一个 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, IEnumerable1 格式化程序) 在 C:\@Code\WebApplication\Repository\BusinessRepository.cs:line 37 中的 WebApplication.Repository.BusinessRepository.GetByUserId(Guid userId) 在 C:\@Code\WebApplication\Controllers\AccountController.cs:line 61 中的 WebApplication.Controllers.AccountController.SignIn(LogOnModel 模型,字符串 returnUrl) .
我尝试调用该服务的代码如下所示
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?
-
嗨,杰西,是的,我已经安装了
-
服务器和开发PC上的MVC4版本相同?模型绑定器中存在一些可能导致此问题的差异。 stackoverflow.com/questions/10934077/…
-
是的,听起来可能类似于 Scott Hanselman 在这里写的博客:hanselman.com/blog/… 他讨论了如何使用 MvcDiagnostics nuget 包进行故障排除。
标签: c# asp.net-mvc asp.net-web-api