Questions tagged «asp.net-core»

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

2
如何将DbContext实例注入IHostedService?
题 如何将DbContext实例注入(使用标准依赖项注入)IHostedService? 我尝试了什么 目前,我的IHostedService类在构造函数中采用了MainContext(源自DbContext)实例。 当我运行该应用程序时,我得到: 无法使用单例“ Microsoft.Extensions.Hosting.IHostedService”中的作用域服务“ Microsoft.EntityFrameworkCore.DbContextOptions”。 因此,我尝试DbContextOptions通过指定以下方式进行过渡: services.AddDbContext<MainContext>(options => options.UseSqlite("Data Source=development.db"), ServiceLifetime.Transient); 在我Startup班上。 但是,即使根据解决的Github问题,DbContextOptions传递的应该具有与AddDbContext调用中指定的生存期相同的错误,但错误仍然相同。 我不能使数据库上下文成为单例,否则并发调用将产生并发异常(由于数据库上下文不能保证是线程安全的)。

17
Visual Studio 2019中未显示ASP.NET Core 3.0
我想测试新的Blazor服务器端框架(又名Razor组件)。 我按照此官方教程安装了Visual Studio 2019 RC,然后安装了.Net Core 3.0预览2 。 安装后,我在“创建新的ASP.NET Core Web应用程序”页面上仅看到ASP.NET Core 2.0和2.1。3.0未显示。 我开始四处乱搞,尝试从此页面安装其他软件包,卸载并重新安装Visual Studio 2019,更新为.NET Core Preview 3,以不同顺序安装了数倍于x64和x86软件包,复制/粘贴了.Net Core二进制文件到随机文件夹等。没事。没有显示ASP.NET Core 3.0。 这是我的VS在创建项目时的样子(黄色消息在与软件包弄乱后出现了,所以这不是真正的问题): 这是dotnet --list-sdks命令的输出: 编辑 由于某种原因,我安装了Blazor VSIX软件包(WebAssembly-并不是我想要的,但是无论如何我都安装了它),现在ASP.NET Core 3.0出现了。但是,仅针对blazor模板: 我不明白 有什么明显的我想念的吗?


9
如何在asp.net核心中获取项目的根目录。Directory.GetCurrentDirectory()在Mac上似乎无法正常工作
我的项目具有以下文件夹结构: 项目, 项目/数据 项目/引擎 项目/服务器 项目/前端 在服务器中(在Project / Server文件夹中运行),我指的是这样的文件夹: var rootFolder = Directory.GetCurrentDirectory(); rootFolder = rootFolder.Substring(0, rootFolder.IndexOf(@"\Project\", StringComparison.Ordinal) + @"\Project\".Length); PathToData = Path.GetFullPath(Path.Combine(rootFolder, "Data")); var Parser = Parser(); var d = new FileStream(Path.Combine(PathToData, $"{dataFileName}.txt"), FileMode.Open); var fs = new StreamReader(d, Encoding.UTF8); 在我的Windows机器上,此代码可以正常工作,因为已Directory.GetCurrentDirectory()转至当前文件夹,并且可以 rootFolder.Substring(0, rootFolder.IndexOf(@"\Project\", StringComparison.Ordinal) + @"\Project\".Length); 获取我项目的根文件夹(不是bin或debug文件夹)。但是,当我在Mac上运行它时,它却把Directory.GetCurrentDirectory()我发送到/ usr // …
78 c#  asp.net-core 

5
如何使用Entity Framework Core模拟异步存储库
我正在尝试为调用异步存储库的类创建一个单元测试。我正在使用ASP.NET Core和Entity Framework Core。我的通用存储库如下所示。 public class EntityRepository<TEntity> : IEntityRepository<TEntity> where TEntity : class { private readonly SaasDispatcherDbContext _dbContext; private readonly DbSet<TEntity> _dbSet; public EntityRepository(SaasDispatcherDbContext dbContext) { _dbContext = dbContext; _dbSet = dbContext.Set<TEntity>(); } public virtual IQueryable<TEntity> GetAll() { return _dbSet; } public virtual async Task<TEntity> FindByIdAsync(int id) { return await …

11
找不到命令“ dotnet ef”?
我在Arch VScode上使用.NET Core 2.0,并尝试使EF工具正常工作,但我不断收到该错误“找不到命令dotnet ef”。我只是到处看,所有建议都没有。因此,如果可以的话,请您提供帮助。 运行“ dotnet ef”的结果 [wasiim@wasiim-PC WebApiServerApp]$ dotnet ef --help Cannot find command 'dotnet ef', please run the following command to install dotnet tool install --global dotnet-ef [wasiim@wasiim-PC WebApiServerApp]$ dotnet tool list -g Package Id Version Commands --------------------------------------------------- dotnet-dev-certs 2.2.0 dotnet-dev-certs dotnet-ef 2.2.3 dotnet-ef [wasiim@wasiim-PC WebApiServerApp]$ 这是dotnet …

5
在.NET Core RC2中生成.exe文件
每次我使用新的.NET Core RC2模板构建项目时,都不会获得runnable。EXE文件。如果我按F5调试控制台应用程序,则在 C:\Program Files\dotnet\dotnet.exe 应用。如果我使用 dotnet run 文件夹中的命令,它也可以正常运行。但是,如果没有.NET Core CLI工具,我将无法运行该应用程序。 我的内容 bin\Debug\netcoreapp1.0\ 文件夹如下所示: 如您所见,没有。EXE文件可用。只是dll。 我在俯视什么吗?还是我的project.json文件有问题? { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-rc2-3002702" } }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } } 谢谢!

5
如何使用构造函数依赖项注入对asp.net核心应用程序进行单元测试
我有一个使用应用程序的startup.cs类中定义的依赖项注入的asp.net核心应用程序: public void ConfigureServices(IServiceCollection services) { services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:FotballConnection:DefaultConnection"])); // Repositories services.AddScoped<IUserRepository, UserRepository>(); services.AddScoped<IUserRoleRepository, UserRoleRepository>(); services.AddScoped<IRoleRepository, RoleRepository>(); services.AddScoped<ILoggingRepository, LoggingRepository>(); // Services services.AddScoped<IMembershipService, MembershipService>(); services.AddScoped<IEncryptionService, EncryptionService>(); // new repos services.AddScoped<IMatchService, MatchService>(); services.AddScoped<IMatchRepository, MatchRepository>(); services.AddScoped<IMatchBetRepository, MatchBetRepository>(); services.AddScoped<ITeamRepository, TeamRepository>(); services.AddScoped<IFootballAPI, FootballAPIService>(); 这允许这样的事情: [Route("api/[controller]")] public class MatchController : AuthorizedController { private readonly IMatchService _matchService; …

3
ASP.NET Core中Program.Main中的访问环境名称
使用ASP.NET Mvc Core,我需要将开发环境设置为使用https,因此我Main在Program.cs中的方法中添加了以下内容: var host = new WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseKestrel(cfg => cfg.UseHttps("ssl-dev.pfx", "Password")) .UseUrls("https://localhost:5000") .UseApplicationInsights() .Build(); host.Run(); 如何在此处访问托管环境,以便可以有条件地设置协议/端口号/证书? 理想情况下,我将只使用CLI来像这样操纵主机环境: dotnet run --server.urls https://localhost:5000 --cert ssl-dev.pfx password 但是似乎没有从命令行使用证书的方法。


2
在ASP.NET Core中读取环境变量
使用DNX运行我的ASP.NET Core应用程序,我能够从命令行设置环境变量,然后像这样运行它: set ASPNET_ENV = Production dnx web 在1.0中使用相同的方法: set ASPNETCORE_ENVIRONMENT = Production dotnet run 不起作用-该应用程序似乎无法读取环境变量。 Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")); 返回null 我想念什么?

5
如何从.net核心中的appsettings.json中提取列表
我有一个appsettings.json文件,看起来像这样: { "someSetting": { "subSettings": [ "one", "two", "three" ] } } 当我构建配置根目录并执行类似的操作时,config["someSetting:subSettings"]它会返回null,而可用的实际设置如下所示: config["someSettings:subSettings:0"] 有没有更好的方法来检索someSettings:subSettings列表内容?

5
.Net Core库中的嵌入式资源
我刚刚开始研究.Net Core,但看不到经典资源和任何看起来像资源的东西。在经典的.Net类库中,我可以将带有某些脚本的文本过滤添加到我的项目中,然后再将这些文件添加到项目的资源中。之后,我可以通过以下方式轻松使用它: Connection.Execure(Properties.Resources.MySuperScript); 我看到.Net Core库中没有这种功能,至少我没有看到。.Net Core中是否有替代方法可以将某些静态数据作为嵌入式资源存储在库中?以及如何使用它(如果存在)?

4
ASP.Net-Core中的自定义身份验证
我正在开发需要与现有用户数据库集成的Web应用程序。我仍然想使用[Authorize]属性,但是我不想使用Identity框架。如果我确实想使用Identity框架,则可以在startup.cs文件中添加以下内容: services.AddIdentity<ApplicationUser, IdentityRole>(options => { options.Password.RequireNonLetterOrDigit = false; }).AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); 我假设我必须在此添加其他内容,然后创建某种实现特定接口的类?有人可以指出我正确的方向吗?我现在正在使用asp.net 5的RC1。

6
如何在ASP.NET Core中获取网站的基本URL?
假设我的网站托管在www.example.com的mywebsite文件夹中,并且我访问https://www.example.com/mywebsite/home/about。 如何在MVC控制器中获取基本网址部分?我要寻找的部分是https://www.example.com/mywebsite 由于我们无权访问ASP.NET Core中的Request.Url,因此此处列出的示例不起作用

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.