相关疑难解决方法(0)

ASP.NET标识 - HttpContext没有GetOwinContext的扩展方法

我已经从这里下载并成功运行了ASP.NET Identity示例:https: //github.com/rustd/AspnetIdentitySample

我现在正在我的项目中实现ASP.NET Identity框架,并遇到了一个问题,这让我整天都疯了......

GetOwinContext() 不存在作为我的扩展方法 HttpContext

我正在类库中实现身份框架.我已经安装了Identity框架的所有最新版本(预发布版本),除此之外的所有内容都正常工作.

我尝试在我的控制器中实现与直接相同的代码,并找到相同的问题.

我显然错过了某个地方的参考,虽然我不知道是什么..!..

杀死我的代码块是:

private IAuthenticationManager AuthenticationManager
{
    get
    {
        return HttpContext.GetOwinContext().Authentication;
    }
}
Run Code Online (Sandbox Code Playgroud)

我添加了对以下内容的引用 - 在我的类库中尝试了这些并且也直接在控制器上,它们都不适合我...

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;
using Microsoft.Owin;
using System.Web;
Run Code Online (Sandbox Code Playgroud)

......这让我起了墙......任何想法?

UPDATE

我已经检查了示例中Identity和OWIN的版本,并确保我的解决方案中有相同的版本.

更重要的是,如果我在样本上搜索对象浏览器,GetOwinContext我可以找到该方法,但是当我在我的解决方案中搜索它时,无处可寻......我必须有一些库过时,但我可以'找到它!

c# asp.net asp.net-mvc asp.net-identity

367
推荐指数
9
解决办法
15万
查看次数

使用EPPlus将DataTable导出为ex​​cel

我想用EPPlus将数据表导出到excel文件,数据表具有int类型的属性,所以我想在excel文件中,格式相同.有谁知道用这些方法将DataTable导出到Excel?

c# datatable excel export epplus

67
推荐指数
3
解决办法
8万
查看次数

'System.Web.HttpContext'不包含'GetOwinContext'Mystery的定义

我意识到这个问题对某些人来说可能看起来微不足道,但是这些类型的东西让我发现自己很多时候都在战斗,我只是想弄清楚这一切尽管在.net中看起来像是一场失败的战斗(无论如何对我来说) ).

所以,如果我做以下事情:

    using System.Web;
...
ApplicationUser user = System.Web.HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());
Run Code Online (Sandbox Code Playgroud)

这会产生标题中的错误和红色GetOwinContext()和错误无法解析符号'GetOwinContext()'

但是,如果我执行以下操作(System.Web从前面删除HttpContext),它按预期工作(或至少没有错误):

using System.Web;
    ...
    ApplicationUser user = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做(使用using System.Web注释掉的同一行):

    //using System.Web;
            ...
ApplicationUser user = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());
Run Code Online (Sandbox Code Playgroud)

它产生相同的红色GetOwinContext()和错误无法解析符号'GetOwinContext()'

如果我谷歌HttpContext我只能发现它源于System.Web.

所以,问题是为什么我不能像上面第一个例子那样使用完整的语法?(在答案中也提到了最高票数:ASP.NET MVC 5 - Identity.如何获取当前的ApplicationUser)

更新(以解决重复的问题回复):虽然对该问题的答案可能得出相同的结论,但我真的不明白这是一个重复的问题.试着从新手的角度来思考它并解析所有的烟雾和镜子.Net.我从来没有尝试过像生活中那样令人费解的东西.有时你必须从许多不同的角度看问题.

我实际上看到了这个问题以及另一个关于使用的问题Current,但是没有让我感到震惊1)作为我正在寻找的答案(当时)2)更重要的是,为什么它表现得那样.Sam的答案很完美,虽然有点过头了.但是,至少现在,我可以去研究这一切意味着什么......

asp.net asp.net-mvc visual-studio

12
推荐指数
3
解决办法
2万
查看次数

找不到HttpContextBase名称空间

   public string GetCartId(HttpContextBase context)
    {
        if (context.Session[CartSessionKey] == null)
        {
            if (!string.IsNullOrWhiteSpace(context.User.Identity.Name))
            {
                context.Session[CartSessionKey] =
                    context.User.Identity.Name;
            }
            else
            {
                // Generate a new random GUID using System.Guid class
                Guid tempCartId = Guid.NewGuid();
                // Send tempCartId back to client as a cookie
                context.Session[CartSessionKey] = tempCartId.ToString();
            }
        }
        return context.Session[CartSessionKey].ToString();
Run Code Online (Sandbox Code Playgroud)

有关在asp.net核心中使用HttpContextBase的任何帮助吗?上面是我的示例代码我正在努力创建一个购物车.

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

9
推荐指数
1
解决办法
9369
查看次数