Questions tagged «asp.net-core»

ASP.NET Core是一个精简,可组合且跨平台的框架,用于构建Web和云应用程序。它在GitHub上是完全开源的。ASP.NET Core应用程序可以在具有完整.NET Framework或更小的.NET Core的Windows上运行,也可以在具有.NET Core和Mono的Linux和MacOS上运行。

10
术语“ scaffold-dbcontext”未被识别为cmdlet,函数,脚本文件或可运行程序的名称
当尝试使用asp.net core搭建支架时,此命令 “ scaffold-dbcontext”数据源=(本地);初始目录= MyDb;集成安全性= True;“ Microsoft.EntityFrameworkCore.sqlserver -outputdir模型 给出此错误。 scaffold-dbcontext:术语“ scaffold-dbcontext”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。在第1行:char:1 + scaffold-dbcontext“ Data Source =(local); Initial Catalog = MyDB; In ... + ~~~~~~~~~~~~~~~~~ + + CategoryInfo: ObjectNotFound:(scaffold-dbcontext:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException 我在这里尝试过该解决方案,但对我不起作用。 知道原因/可能是什么?


1
.NET Core-何时使用“ dotnet new sln”
我有点困惑-我正在阅读的大多数.NET Core教程都没有提到“ dotnet new sln”-它们始终只是单独创建项目,而没有任何解决方案文件将它们链接在一起。 “ dotnet new sln”是新命令吗? 我什么时候应该使用这个?通过创建.sln文件而不是仅包含项目文件,我可以获得什么好处?它主要用于在Visual Studio中打开吗?我使用Visual Studio Code for Mac,因此它可能不适用。 我用Google搜索了“ dotnet new sln”,结果非常小。

3
在文件更改时重建Docker容器
为了运行ASP.NET Core应用程序,我生成了一个dockerfile,该文件构建了该应用程序,并将源代码复制到了容器中,该容器由Git使用Jenkins获取。因此,在我的工作区中,我在dockerfile中执行以下操作: WORKDIR /app COPY src src 虽然Jenkins使用Git正确更新了主机上的文件,但Docker并未将此文件应用于我的映像。 我的基本构建脚本: #!/bin/bash imageName=xx:my-image containerName=my-container docker build -t $imageName -f Dockerfile . containerRunning=$(docker inspect --format="{{ .State.Running }}" $containerName 2> /dev/null) if [ "$containerRunning" == "true" ]; then docker stop $containerName docker start $containerName else docker run -d -p 5000:5000 --name $containerName $imageName fi …

3
asp.net核心中间件与过滤器
在阅读了有关asp.net核心中间件的知识之后,我感到困惑了,什么时候应该使用过滤器,什么时候应该使用中间件,因为它们似乎实现了相同的目标。什么时候应该使用中间件代替装配工?

5
除Controller类之外的其他类的依赖注入
在这一点上,我可以轻松地将其注入Controller中,在某些情况下,可以构建自己的ResolverServices类。生活是美好的。 我无法弄清楚该怎么做,是要获得自动注入非控制器类的框架。起作用的是使框架自动注入到控制器中IOptions,这实际上是项目的配置: public class MessageCenterController : Controller { private readonly MyOptions _options; public MessageCenterController(IOptions<MyOptions> options) { _options = options.Value; } } 我在想我是否可以为自己的课程做同样的事情。我假设我在模仿控制器时就已经关闭了,就像这样: public class MyHelper { private readonly ProfileOptions _options; public MyHelper(IOptions<ProfileOptions> options) { _options = options.Value; } public bool CheckIt() { return _options.SomeBoolValue; } } 我认为我失败的地方是当我这样称呼它时: public void DoSomething() …

4
无法解析来自根提供商.Net Core 2的范围服务
当我尝试运行我的应用程序时出现错误 InvalidOperationException: Cannot resolve 'API.Domain.Data.Repositories.IEmailRepository' from root provider because it requires scoped service 'API.Domain.Data.EmailRouterContext'. 奇怪的是,据我所知,这个EmailRepository和接口的设置与我所有其他存储库完全相同,但没有引发任何错误。仅当我尝试使用该应用程序时,才会发生该错误。线。这是我的一些Startup.cs文件。 public class Startup { public IConfiguration Configuration { get; protected set; } private APIEnvironment _environment { get; set; } public Startup(IConfiguration configuration, IHostingEnvironment env) { Configuration = configuration; _environment = APIEnvironment.Development; if (env.IsProduction()) _environment = …


5
使用授权标头(Bearer)设置Swagger(ASP.NET Core)
我有一个Web API(ASP.NET Core),我试图调整范围以从中进行调用。调用必须包含Authorization标头,并且我正在使用Bearer身份验证。来自Postman等第三方应用程序的呼叫正常。但是我在设置标题时会遇到麻烦(出于某些原因,我没有收到标题)。现在是这样的: "host": "localhost:50352", "basePath": "/" , "schemes": [ "http", "https" ], "securityDefinitions": { "Bearer": { "name": "Authorization", "in": "header", "type": "apiKey", "description": "HTTP/HTTPS Bearer" } }, "paths": { "/v1/{subAccountId}/test1": { "post": { "tags": [ "auth" ], "operationId": "op1", "consumes": ["application/json", "application/html"], "produces": ["application/json", "application/html"], "parameters": [ { "name": …

13
找不到与命令“ dotnet-ef”匹配的可执行文件
我正在通过将ASP.Net Core RC2与Microsoft.EntityFramework.CoreSQLite一起使用来做项目示例。 我遵循了本教程:https : //damienbod.com/2015/08/30/asp-net-5-with-sqlite-and-entity-framework-7/ 但是,当我运行以下命令时: dotnet ef migrations add FirstMigration 我收到此错误: No executable found matching command "dotnet-ef" 这是我的project.json配置: { "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0-rc2-3002702", "type": "platform" }, "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final", "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", "Microsoft.Extensions.Logging": "1.0.0-rc2-final", "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", …

6
如何使Kestrel Web服务器监听非本地主机的请求?
我已经将c#,asp.net 5,mvc 6应用程序部署到Windows 2008服务器。我已经启动dnx web,它正在侦听端口5000,并且从本地计算机访问时工作正常。 如何获取它以侦听非本地主机的请求? PS此问题不是此问题的重复... hosting.ini实际上具有.ini格式时,它指的是RC1之前的asp.net。现在,它是JSON,我找不到任何有关它实际内容的文档。 PPS真正的解决方案是对链接的问题的不可接受的回答,其中有很多警告。脚步: 根据链接的答案更改project.json。 将项目发布到服务器。 在服务器上,转到... \ approot \ src \ YourProject文件夹,然后在此处打开命令窗口。 运行dnx web-它将失败 跑 dnu restore 运行'dnu build` 运行'dnx web`-Web服务器现在应该可以正常启动了 PS对于支持此问题的人。过时了 非常严重的过时了! 它适用于.NET Core的早期版本。问题和答案当然不适用于当前版本的框架(例如2.x,3.x)

3
如何在ASP.NET Core中使用SqlClient?
我正在尝试在ASP.net Core中使用SQLClient库,但似乎无法正常工作。我在网上找到了这篇文章,以提供有关如何设置的建议,但不适用于我:http : //blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/ 我有一个简单的控制台应用程序包。我的project.json看起来像这样: { "version": "1.0.0-*", "description": "DBTest Console Application", "authors": [ "" ], "tags": [ "" ], "projectUrl": "", "licenseUrl": "", "compilationOptions": { "emitEntryPoint": true }, "dependencies": { "System.Data.Common": "4.0.1-beta-23516", "System.Data.SqlClient" : "4.0.0-beta-23516" }, "commands": { "DBTest": "DBTest" }, "frameworks": { "dnx451": { }, "dnxcore50": { "dependencies": …

3
IdentityServer4注册UserService并从asp.net核心中的数据库获取用户
我到处搜索了如何UserService在asp.net核心中向IdentityServer4注册,但是我似乎找不到正确的方法。 这是注册发现InMemoryUsers代码在这里,但是我想从样品中定义我的MSSQL数据库不是静态的用户访问权限的用户。 var builder = services.AddIdentityServer(options => { options.SigningCertificate = cert; }); builder.AddInMemoryClients(Clients.Get()); builder.AddInMemoryScopes(Scopes.Get()); builder.AddInMemoryUsers(Users.Get()); 因此,我查看了这是为IdentityServer3设计的。 var factory = new IdentityServerServiceFactory() .UseInMemoryClients(Clients.Get()) .UseInMemoryScopes(Scopes.Get()); var userService = new UserService(); factory.UserService = new Registration<IUserService>(resolver => userService); 从网上阅读看来,我似乎需要使用DI系统来注册UserService,但是我不确定它如何绑定到IdentityServer。 services.AddScoped<IUserService, UserService>(); 所以我的问题是: 如何将我绑定UserService到构建器(IdentityServer4用户)?我该如何调用数据库来访问和验证UserService(在我使用存储库连接到db的情况下)现有的db用户? 考虑到这一点必须与asp.net core一起使用。 谢谢!

9
使用ASP.NET Core获取绝对URL
在MVC 5中,我具有以下扩展方法来生成绝对URL,而不是相对的: public static class UrlHelperExtensions { public static string AbsoluteAction( this UrlHelper url, string actionName, string controllerName, object routeValues = null) { string scheme = url.RequestContext.HttpContext.Request.Url.Scheme; return url.Action(actionName, controllerName, routeValues, scheme); } public static string AbsoluteContent( this UrlHelper url, string contentPath) { return new Uri(url.RequestContext.HttpContext.Request.Url, url.Content(contentPath)).ToString(); } public static …
82 c#  asp.net-core 

7
ASP.NET Core身份-获取当前用户
要获得MVC5中当前登录的用户,我们要做的就是: using Microsoft.AspNet.Identity; [Authorize] public IHttpActionResult DoSomething() { string currentUserId = User.Identity.GetUserId(); } 现在,我认为使用ASP.NET Core应该可以,但是会引发错误。 using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Http; private readonly UserManager<ApplicationUser> _userManager; [HttpPost] [Authorize] public async Task<IActionResult> StartSession() { var curUser = await _userManager.GetUserAsync(HttpContext.User); } 有任何想法吗? 编辑: Gerardo的响应已步入正轨,但要获得用户的实际“ Id”,这似乎可行: ClaimsPrincipal currentUser = this.User; var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.