3

我这行如何包括ASP.NET核心项目引用组装

string sConnectionString = ConfigurationManager.ConnectionStrings["Hangfire"].ConnectionString; 

而且它需要包括System.Configuration

在该项目的地方,我要补充参考System.Configuration因为在References下我找不到经典的地方吗?

enter image description here

+0

.Net Core项目使用基于'Microsoft.Extensions.Configuration'而不是'System.Configuration'的不同配置模型。你的实际'HangFire'连接字符串被设置在哪里?在你的'appsettings.json'中? – haim770

+0

@ haim770我正在学习本手册http://www.talkingdotnet.com/integrate-hangfire-with-asp-net-core-web-api/ –

回答

6

your're以下是可能使用Asp.Net核心目标的完整的.NET框架(4.6),它能够依靠System.Configuration(即不便于携带和CoreFX不支持该教程)。

.Net核心项目(跨平台)使用基于Microsoft.Extensions.Configuration而不是System.Configuration的不同配置模型。

假设你Hangfire连接字符串在您appsettings.json定义:

{ 
    "ConnectionStrings": { 
     "HangFire": "yourConnectionStringHere" 
    } 
} 

您可以在Startup.cs阅读:

public class Startup 
{ 
    public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 

     this.Configuration = builder.Build(); 

     var hangFireCS = this.Configuration.GetConnectionString("HangFire"); 
    } 
} 

而且,你会需要Microsoft.Extensions.Configuration.Json包使用AddJsonFile()扩展方法。

+0

我同意你的看法,但为什么我面对的手册已经提出了现在在Asp.Net Core中不支持的旧方法?这是否意味着手册不正确? –

+0

本身没有什么“不正确的”。您可以构建面向完整框架(4.6)的Asp.Net Core应用程序。但是你不会获得Core框架的所有好处和可移植性。 – haim770

-2

@Dimi右键单击引用文件夹 - >添加引用 - >搜索配置 - >检查System.Configuration - >点击OK。

那么您的.cs添加命名空间文件即

使用System.Configuration;

enter image description here enter image description here

+0

它说没有项目找到 –

+1

我已经更新了我的答案。请检查一下。 @Dimi –

+0

对不起,我看不到像你一样的窗户。我已经创建了ASP.NET Core Webapi项目。看到我更新的问题,请 –