Asp.net-Web-Api

找不到方法:‘System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()’

  • February 9, 2021

我創建了一個過濾器屬性

public class AuthFilterAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
   public AuthFilterAttribute()
   {

   }

   public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
   {

   }
}

我已經在global.asax.cs.

當我嘗試使用Postman呼叫我的 Web API時,它顯示錯誤:

找不到方法:‘System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()’。

我的項目目標框架是4.6.1System.Net.Http版本是4.2.0.0

我的 API 如下所示:

[AuthFilter]
public class ScheduleApiController : BaseApiController
{
   [Route("api/v1/schedules")]
   [HttpGet]
   public IHttpActionResult GetSchedules()
   {
   }
}

我知道以前有人問過這個問題,但沒有一個解決方案對我有用。

請幫我解決這個問題。

您是否有機會引用 .NET 標準庫。我遇到了這個問題並通過綁定重定向解決了它:

 <dependentAssembly>
   <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
   <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.2.0.0" />
 </dependentAssembly>

您可以嘗試啟用自動生成綁定。右鍵點擊您的項目->屬性->應用程序

勾選那個

引用自:https://stackoverflow.com/questions/49767979