WebApi 옵션 (VS 2017 Community)을 사용하여 Asp.Net Core 웹 애플리케이션 (.net 프레임 워크)으로 프로젝트 (SPA 웹 앱에 API를 제공하기 위해)를 구축했습니다. 그러면 app.config 파일이 있고 web.config 파일이없는 프로젝트가 생성되었습니다. System.Configuration.ConnectionManager.ConnectionStrings['MainDb']
로컬에서 잘 작동하는 Startup.cs 클래스에서 사용하여 읽은 app.config 섹션이 있습니다.
Azure에 앱을 배포하고 포털에서 'MainDb'연결 문자열을 설정하면 웹앱에서 읽지 않습니다. 포털을 통해 직접 설정하고 VS2017의 Azure 서버 탐색기를 통해 사용할 수있는 설정 창을 통해 설정했습니다. 서버 탐색기에서 web.config 파일은 볼 수 있지만 app.config 파일은 볼 수 없으며 web.config 파일에는 연결 문자열 노드가 없지만 웹 앱은 배포했을 때 app.config에 있던 연결 문자열을 보는 것 같습니다.
여기에서 app.config와 web.config 간의 상호 작용에 대해 다소 혼란 스럽습니다. Azure Portal 설정으로 재정의 할 수 있도록 연결 문자열을 선언해야하는 위치는 어디입니까?
일반적으로 ASP.NET Core appsettings.json
에서는 구성에 파일을 사용합니다. 다른 많은 옵션 (XML, 사용자 비밀 등)도 있지만 https://joonasw.net/view/asp-net-core-1-configuration-deep-dive .
따라서 다음과 같은 appsettings.json 파일이 있습니다.
{
"ConnectionStrings": {
"MainDb": "Data Source=.;Initial Catalog=MainDb;Integrated Security=True"
}
}
그런 다음에서 IConfiguration
객체에 액세스하여 읽을 수 있습니다 Startup
.
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
Configuration = builder.Build();
}
public IConfiguration Configuration { get; set; }
public void ConfigureServices(IServiceCollection services)
{
string connStr = Configuration.GetConnectionString("MainDb);
}
}
GetConnectionString("name")
실제로 Configuration.GetSection("ConnectionStrings")["name"]
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다