首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionContext gone in Microsoft.AspNetCore.Mvc.Controller

ActionContext gone in Microsoft.AspNetCore.Mvc.Controller
EN

Stack Overflow用户
提问于 2016-05-17 21:28:05
回答 3查看 17.5K关注 0票数 17

我找不到ActionContext在Microsoft.AspNetCore.Mvc.Controller

在我将我的版本更改为AspNetCore 1.0.0-预览1之后

这是Controller类(更改后):

在变化之前来自"Microsoft.AspNet.Mvc“:

并在更新前从旧方法中编写代码:

代码语言:javascript
复制
this.Agent = ControllerInfo.Request.Headers["User-Agent"];
this.IP = ControllerInfo.HttpContext.Features.Get<IHttpConnectionFeature>()?.LocalIpAddress?.ToString(); 
this.RemoteIP = ControllerInfo.HttpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress.ToString();
this.Refrence = ControllerInfo.ActionContext.RouteData.Values["controller"].ToString() 
    + "/" + ControllerInfo.ActionContext.RouteData.Values["action"].ToString();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-18 12:36:24

我用ControllerContext,代替了ActionContext,它对我很管用。不过,我不知道这是否是正式的移民步骤。

票数 23
EN

Stack Overflow用户

发布于 2016-12-01 11:00:54

您可以将IActionContextAccessor注入您的类。它提供了对操作上下文的访问。

代码语言:javascript
复制
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();

使用它:

代码语言:javascript
复制
private readonly IActionContextAccessor actionContextAccessor

public FooController(IActionContextAccessor actionContextAccessor)
{
    this.actionContextAccessor = actionContextAccessor;
}

本期

票数 21
EN

Stack Overflow用户

发布于 2020-11-06 19:44:08

至少在.NET核心3.1中,ControllerBase有一个作为UrlHelper工作的属性Url,所以您不必自己制作。https://stackoverflow.com/a/52537244/4172413

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37286530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档