首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到Request.GetOwinContext

找不到Request.GetOwinContext
EN

Stack Overflow用户
提问于 2014-03-24 07:33:31
回答 11查看 89.9K关注 0票数 104

我已经搜索了一个小时,试图弄清楚为什么这不起作用。

我有一个带有WebAPI的ASP.Net MVC5应用程序。我正在尝试获取Request.GetOwinContext().Authentication,但是我似乎找不到如何包含GetOwinContext。下面是我的代码:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using TaskPro.Models;

namespace TaskPro.Controllers.api
{
    public class AccountController : ApiController
    {
        [HttpPost]
        [AllowAnonymous]
        public ReturnStatus Login(LoginViewModel model)
        { 
            if (ModelState.IsValid)
            {
                var ctx = Request.GetOwinContext(); // <-- Can't find this

                return ReturnStatus.ReturnStatusSuccess();
            }

            return base.ReturnStatusErrorsFromModelState(ModelState);
        }
    }
}

据我所知,它应该是System.Net.Http的一部分,但我已经包含了它,它仍然没有解决。Ctrl-空格键也不提供任何智能感知选项。

这里我漏掉了什么?

EN

回答 11

Stack Overflow用户

发布于 2014-06-06 21:15:27

这些对我来说都不管用。我不得不将Nuget包与使用Identity创建的包进行比较,我发现这个Nuget包丢失了,它在添加时为我修复了这个问题

代码语言:javascript
复制
Microsoft.Owin.Host.SystemWeb

显然,您需要它才能使用ASP.NET请求管道在IIS上运行OWIN (没有它,您就完蛋了!)

票数 50
EN

Stack Overflow用户

发布于 2014-04-25 16:18:39

在WEB API中,您可以使用以下内容获取引用:

代码语言:javascript
复制
HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();

它可以在Identity 2.0中工作

票数 47
EN

Stack Overflow用户

发布于 2014-09-07 07:30:26

您可能需要添加NuGet包Microsoft.Owin.Host.SystemWeb才能做到这一点:

代码语言:javascript
复制
HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22598567

复制
相关文章

相似问题

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