【发布时间】:2016-02-12 08:17:03
【问题描述】:
我正在使用 asp.net 5 和实体框架 7 来创建 Web 应用程序,但在使 User.Identity 工作时遇到了一些问题。在documentation 中,它表示它位于命名空间User.Identity.Core 中。当我通过 nuget 安装它时,它会找到方法。但是,我与UserManager 发生冲突,因为它说它同时存在于User.Identity.Core 和User.Identity.EntityFramework 中。如果我卸载User.Identity.EntityFramework,则不允许在我的用户模型中从IdentityUser 继承。我需要GetUserId 才能获取当前登录的客栈用户...我也尝试过使用
System.Web.HttpContext.Current.User.Identity.GetUserId();
但似乎有一个类似的问题,它说Current 在HttpContext 中不存在。
有人知道解决办法吗?
用 project.json 更新:
{
"userSecretsId": "aspnet5-FrkKantine-1a8100b9-6fce-44b4-ac9d-6038ecf705f6",
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Razor": "4.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": { },
"dnx50": {}
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
}
【问题讨论】:
-
您所指的方法是关于 .NET Framework 4.x 和旧的 Identity。
System.Web.*中的所有类型基本上都是指与 IIS 紧密耦合的旧 ASP.NET。例如,.NET Core 中的HttpContext抽象类在Microsoft.AspNetCore.Http中。一些关于 asp.net core 的非常基本的官方文档可以在这里找到docs.asp.net/en/latest。但它非常不完整,但对于一些基础知识来说是一个良好的开端 -
你能发布你的 project.json,至少是依赖项/框架位吗?
-
对于 ASP.NET Core 1.0 RTM/EntityFramework 1.0 Core 这个问题的解决方案是什么?
标签: c# asp.net entity-framework asp.net-identity asp.net-core