相关疑难解决方法(0)

如何在ASP.NET Core中创建自定义AuthorizeAttribute?

我正在尝试在ASP.NET Core中创建自定义授权属性.在以前的版本中,可以覆盖bool AuthorizeCore(HttpContextBase httpContext).但这不再存在于AuthorizeAttribute.

制作自定义AuthorizeAttribute的当前方法是什么?

我想要完成的任务:我在Header Authorization中收到一个会话ID.从该ID我将知道特定动作是否有效.

c# asp.net authorization asp.net-core-mvc asp.net-core

362
推荐指数
13
解决办法
19万
查看次数

WebApi Action过滤器调用两次

我的WebApi过滤方法OnActionExecuted被调用两次.我的过滤器(我尽可能简单):

   public class NHibernateActionFilter : ActionFilterAttribute
   { 
        //  [Inject]
        //   public ISessionFactoryProvider sessionFactoryProvider { get; set; }
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
           var a = 5;
           var b = a;
           //new BaseSessionProvider(sessionFactoryProvider).EndContextSession();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的设置:

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        //http://stackoverflow.com/questions/9521040/how-to-add-global-asp-net-web-api-filters
        FilterConfig.RegisterWebApiFilters(GlobalConfiguration.Configuration.Filters);
    }

    public class FilterConfig
    {

        public static void RegisterWebApiFilters(System.Web.Http.Filters.HttpFilterCollection filters)
        {
             filters.Add(new NHibernateActionFilter());
        }
     }
Run Code Online (Sandbox Code Playgroud)

在调试器中,我OnActionExecuted用相同的方法捕获两次actionExecutedContext.为什么?

UPD

Controller
public class BankSmsController : ApiController
{
         [AcceptVerbs(HttpVerbs.Get)]
         public int GetTest()
         {
             return …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc action-filter asp.net-web-api

8
推荐指数
1
解决办法
5786
查看次数