问题标签 [asp.net-core-2.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 ASP.NET Core 2.1 中使用角色?
我创建了一个测试项目,使用:
这将创建一个 Startup.cs,其中包含:
我想播种一些用户和角色。用户和角色都将使用相同的存储 (SQLite)。我正在使用一个静态类进行播种,它从Program
.
我可以为用户播种,但不能为角色播种,因为上面似乎没有注入RoleManager
.
在 ASP.NET Core 2.0 中使用以下内容:
我猜AddDefaultIdentity
是 2.1 中的新功能,但问题是它没有注入 a RoleMnager
,所以我该怎么办?
c# - 在 ASP.NET Core 2.1 中更改 IdentityUser 类型
我希望我User
有一个Guid
作为主键,但是当我创建自己的用户类型时,我的网站在启动时会引发异常。
任何人都知道如何更改 IdentityUser 类型?
我这样做了:
但是当我的程序启动时,我得到了这个错误:
InvalidOperationException:没有注册类型“Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]”的服务。
这是否与身份 UI 现在位于单独的库中并且该库中的控制器期望UserManager<IdentityUser>
?
我怎样才能覆盖它?
asp.net-core - npm 无法从 global.json 中找到 SDK 版本
我正在尝试使用此作为基础项目模板来快速了解 asp.net core/npm/react:
https://github.com/jonmcquade/aspnetcore-react-redux#local-no-docker
尝试此命令后,我最初遇到了麻烦:
dotnet build -c Release -o ./app
我看到的错误:
未找到 global.json 版本的兼容 SDK 版本:[2.1.0] from [global.json] 您是要运行 dotnet SDK 命令吗?请从以下位置安装 dotnet SDK:http:
//go.microsoft.com/fwlink/ ?LinkID=798306&clcid=0x409
我安装了文档中的特定版本,并且安装了最新版本,包括 x64 和 x86 平台。
npm install
我现在在运行命令或命令时也遇到此错误dotnet --version
,但我安装了 SDK。
感觉机器配置不知何故坏了。我似乎已经进入了一个版本的泡菜,试图让dotnet build
命令工作,现在甚至 NPM 也不起作用。
Global.json 是:
.csproj 文件包含:
为了让这个工作,我缺少什么?
我可以检查一些机器配置问题吗?也许是环境变量?我尝试使用安装程序进行修复,但这并不能解决问题。
c# - Azure 聊天机器人中间件的依赖注入?
我正在使用 Azure Bot Service 和 QnAMaker 开发一个新的聊天机器人。我们正在使用 BotBuilder 中间件(包括自定义中间件)来定制机器人行为。
其中一个中间件将调用 Azure 函数,我想将新HttpClientFactory
功能与自定义中间件一起使用——但这需要依赖注入。
如何像使用常规 .NET Core 中间件一样在 BotBuilder 中间件中使用依赖注入?
当您查看Startup.cs中的机器人配置时,您可以看到它如何要求您更新所有机器人依赖项:
是否有不同的方式来配置允许依赖注入的机器人?
如果MyCustomMiddleware
需要HttpClient
在其构造函数中输入类型,我必须在此处创建一个新实例,因此我无法从 DI 和我刚刚设置的配置中受益。
mysql - Microsoft.EntityFrameworkCore 2.1-rc 与 MySql.Data.EntityFrameworkCore
我正在尝试将 mysql 与 Microsoft.EntityFrameworkCore 2.1-rc-final 和 MySql.Data.EntityFrameworkCore 8.0.11 作为提供者一起使用。但是当我尝试执行 mugrations 命令时,我得到了这个异常: System.MissingMethodException: Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory..ctor(Microsoft.EntityFrameworkCore.Diagnostics.IDiagnosticsLogger`1, Microsoft .EntityFrameworkCore.Storage.IRelationalTypeMapper)'。
这是我的 IDesignTimeDbContextFactory 代码实现:
请问我该如何解决这个问题或至少一些如何与其他提供商一起使用的示例
asp.net-core - 如何使需要授权登录/注销的 SignalR 集线器?
我在 SignalR 中有一个简单的聊天实现。每个人都可以阅读其他人正在输入的内容,但只有注册用户可以说:
它有效。除了...当用户在一个选项卡中打开聊天,但在另一个选项卡中登录/注销时。
- 当用户在另一个选项卡中注销时,他们仍然可以在聊天中自由发言。聊天会使用他们注销前的昵称发送消息。这一直持续到重新加载聊天选项卡。
- 当用户未登录,但仍然在一个选项卡中打开聊天,然后在另一个选项卡中登录时,他们可能仍然无法在聊天中发言,直到他们重新加载聊天选项卡。
为什么尽管存在该[Authorize]
属性,但SendMessage
即使用户不再经过身份验证,该方法仍然有效?
如何解决这个问题?如何让我的聊天中心遵循客户端连接后发生的身份验证?
ASP .NET Core 2.1 RC1,因为 2.0 不支持 SignalR。
编辑:根据评论的要求,Startup.Configure
:
c# - 基于 .Net Core 中的 appSettings 使用 Cors
我正在将 .net 4.5.2 项目更新为 .Net core web api。现在,Cors 根据 appSetting 值设置如下CorsAllowAll
:
如何在 .net 核心中实现相同的目标?不幸的是,我不会知道每个环境的 URL。但我确实知道对于本地、DEV 和 QA 环境,appSettingCorsAllowAll
是正确的。但是 UAT 和 PROD 环境是错误的。
更新 我的 appSettings.json 如下所示:
npm - 防止 npm 下载私有注册表中的所有包
我们公司有一个托管在 Nexus 中的私有 npm 注册表。我遇到的问题是,当一个新项目第一次尝试安装一个包时,npm 会将注册表中的所有包(超过 200 个)下载到 node_modules 文件夹中。这会导致很大的延迟,并且不需要,因为实际上只需要大约 5 个包。
Nexus 注册表使用以下 URI 设置:
https://nexus.domain.com:9999/content/groups/npm-all/
我可以使用一个开关来告诉 npm 不要从私有注册表下载所有包吗?
docker - 无法在 Docker 上运行 dotnet core 2.1 项目
我刚刚使用最新的 .Net Core Preview sdks 创建了一个 Web 应用程序。我正在尝试在 Docker for Windows 上运行它,但是该项目没有构建。我收到的错误是:
错误 DOCKER_REGISTRY 变量未设置。
我的 docker-compose.yml 文件
它的覆盖是:
有人可以指导我一些方向吗?我是 Docker 新手,我认为 VS 模板可以在安装 docker for winodw 后构建。我在这里找到了一个类似的问题,但我不明白解决方案以及在哪里添加导出。
更多信息:错误指向这个文件:C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose.targets 363
c# - ASP.NET Core 2.1:Razor Pages - 基于角色的授权不起作用
我的 Razor Pages 应用程序配置如下。Startup.cs 包含:
我有一个具有“管理员”角色的用户。当用户登录并访问“关于”页面时,我得到以下信息:
拒绝访问
您无权访问此资源。
我究竟做错了什么?
更新
如果我在页面方法中删除AuthorizePage
and 使用,然后在页面中输出属性,则显示管理员用户。所以,不知道为什么不工作。GetUsersInRoleAsync("Admin")
About.cshtml.cs
OnGet
UserName
About.cshtml
AuthorizePage
2017 年 5 月 29 日更新
我的源代码在这个Github Resository