草庐IT

c# - 如何在 .NET Core 控制台应用程序中处理 Scoped 服务实例?

我在正在构建的Web应用程序中从ConfigureServices复制了这个,我试图在其中远离Web并仅使用控制台应用程序或服务:serviceCollection.AddScoped(c=>newSqlConnection(App.Configuration.GetConnectionString("DefaultConnection")));控制台应用程序运行良好,但我想知道如何处理连接的生命周期。如果以及何时关闭和/或处置连接?还是这与transient实例的行为相同,我应该自己处理它? 最佳答案 当您从IServiceCol

c# - ASP.NET Core RC2 区域未发布

所以我刚刚更新了我的应用程序以使用ASP.NETCoreRC2。我使用VisualStudio发布它并注意到我的区域未发布:此快照来自src\MyProject\bin\Release\PublishOutput:这是我的区域,在VisualStudio中名为Admin:我是漏掉了一步还是什么? 最佳答案 您需要配置project.json的publishOptions部分以包含默认模板中未包含的Areas文件夹:例如:"publishOptions":{"include":["wwwroot","Views","appsettin

c# - .Net Core 1.1 中的传递引用

在.NETCore1.1和VisualStudio2017RC中开发示例Web应用时,我意识到以下几点:如你所见:ClassLibrary3引用了ClassLibrary2,ClassLibrary2引用了ClassLibrary1我在ClassLibrary3项目的类Class3中编写了一个简单的方法,Intellisense允许我使用Class1只写类的名称,我的意思是,没有对ClassLibrary1项目进行显式引用。我是否遗漏了一些要点?我不希望有人只是过来而忽略了ClassLibrary2。谢谢。 最佳答案 可传递的项目到

c# - EF Code First MigrateDatabaseToLatestVersion 从配置中接受连接字符串名称

在我的项目中尝试实现EF迁移时,我被困在一个地方。EFCodeFirstMigrateDatabaseToLatestVersion接受来自配置的连接字符串名称。在我的例子中,数据库名称在运行时已知(用户从下拉列表中选择它)。正如DbContext在其构造函数中接受ConnectionString或connectionStringName的方式,“MigrateDatabaseToLatestVersion”不接受相同的System.Data.Entity.Database.SetInitializer(newMigrateDatabaseToLatestVersion(connStr

c# - EF 代码优先 : DropCreateDatabaseIfModelChanges doesn't work

我在我的Global.asax中使用以下代码:DbDatabase.SetInitializer(newDropCreateDatabaseIfModelChanges());但是好像不行。尽管我的模型已更改并且我正在尝试使用其中一个新添加的表,但它只是说找不到该表。Invalidobjectname'dbo.TableName'.但是,如果我运行它,它似乎可以工作,并且正在创建表:DbDatabase.SetInitializer(newDropCreateDatabaseAlways());它确实更新了我的数据库。我做错了什么? 最佳答案

c# - 无法使用 ConfigurationManager 在 C# .NET Core 单元测试项目中读取 app.config

我创建了一个简单的单元测试项目来读取app.config文件。目标框架是Core2.0。我还创建了一个Core2.0控制台应用程序,以健全地检查自己以确保我没有做任何奇怪的事情(相同的测试按预期在.NET4.6.1单元测试项目中通过)。控制台应用程序读取app.config正常,但单元测试方法失败,我无法弄清楚原因。两者都使用相同app.config的副本(未添加为链接)并且都安装了System.Configuration.ConfigurationManagerv4.4.1NuGet包。App.config单元测试usingMicrosoft.VisualStudio.TestToo

c# - 如何解释 ASP.NET Core 2.1 中的 Serilog 配置?

出于某种原因,我发现很难理解Serilog配置的情况。我有一个带有.NETCore2.1的WebAPI并安装了serilog.sink.logstash。我的创业公司有:publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv,ILoggerFactoryloggerFactory){varserverURL=Configuration.GetSection("Logging")["logstashServer"];varlogger=newLoggerConfiguration().Enrich.FromLog

c# - EF4 代码优先 : how to add a relationship without adding a navigation property

我应该如何在不使用任何导航属性的情况下使用CodeFirst来定义关系?之前,我通过在关系的两端使用导航属性来定义一对多和多对多。并在数据库中创建适当的关系。这是类外观的精简版本(为简单起见,我已将多对多关系转换为一对多)。publicclassUser{publicstringUserId{get;set;}publicstringPasswordHash{get;set;}publicboolIsDisabled{get;set;}publicDateTimeAccessExpiryDate{get;set;}publicboolMustChangePassword{get;set

c# - 跳过并取 : An efficient approach to OFFSET LIMIT in EF 4. 1?

以下代码:using(vardb=newEntities()){db.Blogs.First().Posts.Skip(10).Take(5).ToList();}将生成以下SQL:--statement#1SELECTTOP(1)[c].[Id]AS[Id],[c].[Title]AS[Title],[c].[Subtitle]AS[Subtitle],[c].[AllowsComments]AS[AllowsComments],[c].[CreatedAt]AS[CreatedAt]FROM[dbo].[Blogs]AS[c]--statement#2SELECT[Extent1]

c# - 从 ASP.NET Core 中的 Controller 操作运行后台任务

我正在使用C#和ASP.NETCore2.0开发带有RESTAPI的Web应用程序。我想要实现的是,当客户端向端点发送请求时,我将运行一个与客户端请求上下文分离的后台任务,如果任务成功启动,该任务将结束。我知道有HostedService但问题是HostedService在服务器启动时启动,据我所知没有办法启动HostedService从Controller手动。这是演示问题的简单代码。[Authorize(AuthenticationSchemes="UsersScheme")]publicclassUsersController:Controller{[HttpPost]publi