Asp.net mvc System.Web.HttpRequestBase不包含';CreateResponse';

Asp.net mvc System.Web.HttpRequestBase不包含';CreateResponse';,asp.net-mvc,http,Asp.net Mvc,Http,我在该方法中遇到以下错误: [HttpGet] public HttpResponseMessage Search([ModelBinder(typeof(ApiDataTablesModelBinder))] IDataTablesRequest requestModel) { var sortedColumn = requestModel.Columns.GetSortedColumns().Si

我在该方法中遇到以下错误:

        [HttpGet]            
        public HttpResponseMessage Search([ModelBinder(typeof(ApiDataTablesModelBinder))] IDataTablesRequest requestModel)
        {
            var sortedColumn = requestModel.Columns.GetSortedColumns().SingleOrDefault();

            bool isDesc = false;
            string sortField = "ID";

            // get all projects and order them
            var projects = lkp_surveyRepo.GetAll();//.OrderBy(sortField, isDesc).ToList();

            // filtered projects
            var filteredResults = projects;

            filteredResults = projects.Where(x => x.code == selectedDistrictID);

            var pagedResults = filteredResults.Skip(requestModel.Start).Take(requestModel.Length);
            var result = Request.CreateResponse(HttpStatusCode.OK, new DataTablesResponse(requestModel.Draw, pagedResults, filteredResults.Count(), projects.Count()));

            return result;
        }
我的控制器正在实现控制器:

public class HomeController : Controller
    {
我发现了这个问题,但答案对我没有帮助:

完全错误为:

错误13“System.Web.HttpRequestBase”不包含定义 对于“CreateResponse”和最佳扩展方法重载 'System.Net.Http.HttpRequestMessageExtensions.CreateResponse(System.Net.Http.HttpRequestMessage, System.Net.HttpStatusCode,T)“”具有一些无效参数


你知道我做错了什么吗?可能是
CreateResponse
方法中的内容有问题。。。谢谢

我感觉您继承了错误的基本控制器类型。如果您使用的是WebAPI,那么应该继承自
ApiController
,而不是
Controller


ApiController
中,
Request
System.Net.Http.HttpRequestMessage
。在
控制器
中,
请求
System.Web.HttpRequestBase
。因此,扩展方法很接近,但是提供签名方法的不正确类型不匹配。

我没有使用WebAPI。控制器使用:controller之前,我刚刚在下面添加了一个新方法,该方法需要返回HTTPResponse,因此对于类来说是新的。@user3461011
CreateResponse
HttpResponseMessage
应该从WebAPI使用。在您的情况下,我会创建一个新的WebAPI控制器,以便您可以使用这些成员,或者删除它们并返回
Json
或类似的ViewResult,以便您可以像API一样工作。您是我的英雄。如何在asp.net Core中使用HttpRequestMessage这可能会有所帮助-