Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

214
Views
Configuración de la cadena de conexión SQL para la aplicación web ASP.NET Core en Azure

Creé una nueva aplicación web ASP.NET Core en Visual Studio 2015. También configuré una aplicación web de Azure para extraer la aplicación de GitHub y ejecutarla. Esto funciona bien, pero tengo problemas para conectarme a la base de datos en Azure.

Localmente, esto funciona y usa config.json y en el código Data:DefaultConnection:ConnectionString para la cadena de conexión.

¿Cómo puedo dejar el código como está y hacer que funcione también en Azure? Intenté establecer la configuración de la aplicación en el portal, tanto las cadenas de conexión como la configuración de la aplicación. Y usando tanto "SQLCONNSTR_DefaultConnection" como "Data:DefaultConnection:ConnectionString" como clave.

(La configuración de la aplicación no parece funcionar por cierto. Creo que el valor que proporciono es demasiado largo).

Entonces, ¿cómo puedo proporcionar la cadena de conexión de mi base de datos de Azure a mi aplicación web de Azure (ASP.NET 5) sin registrarla en el control de código fuente?

Update My Startup.cs tiene este aspecto (vea el archivo completo en GitHub ):

 public Startup(IHostingEnvironment env) { var configuration = new Configuration() .AddJsonFile("config.json") .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true); if (env.IsEnvironment("Development")) { configuration.AddUserSecrets(); } configuration.AddEnvironmentVariables(); Configuration = configuration; }

En el método ConfigureServices , también hay:

 services.Configure<AppSettings>(Configuration.GetSubKey("AppSettings"));

y, también en el método ConfigureServices :

 services.AddEntityFramework() .AddSqlServer() .AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])) .AddDbContext<InvoicesDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); // So this is where I want my app in Azure to use the connection string I // provide in the portal
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Respuesta corta

Intenté establecer la configuración de la aplicación en el portal, tanto las cadenas de conexión como la configuración de la aplicación. Y usando tanto "SQLCONNSTR_DefaultConnection" como "Data:DefaultConnection:ConnectionString" como clave.

Usted está cerca.

  1. Vaya a la aplicación web de Azure > configurar > cadenas de conexión.
  2. Agregue una cadena de conexión con el nombre DefaultConnection .
  3. Utilice Configuration.Get("Data:DefaultConnection:ConnectionString") para acceder a él.

Ejemplo usando timesheet_db en lugar de DefaultConnection

Este es un ejemplo de mi propia aplicación de parte de horas. Mi cadena de conexión se llamó timesheet_db . Simplemente reemplace todas las instancias de esa cadena con DefaultConnection para adaptar el ejemplo a su caso de uso.

Configuración de la aplicación web de Azure

Establecer cadena de conexión

Administrador de control de servicios de aplicaciones web de Azure

El administrador de control de servicios en línea en https://myWebAppName.scm.azurewebsites.net/Env mostrará las cadenas de conexión.

Cadenas de conexión

Inicio.cs

Establezca los ajustes de configuración en Startup para que las variables ambientales sobrescriban el config.json.

 public IConfiguration Configuration { get; set; } public Startup() { Configuration = new Configuration() .AddJsonFile("config.json") .AddEnvironmentVariables(); <----- will cascade over config.json }

Configure la base de datos en Startup .

 public void ConfigureServices(IServiceCollection services) { services .AddEntityFramework() .AddSqlServer() .AddDbContext<ProjectContext>(options => { var connString = Configuration.Get("Data:timesheet_db:ConnectionString"); options.UseSqlServer(connString); }); }

Por supuesto, el ejemplo usa una cadena de conexión llamada timesheet_db . Para usted, reemplace todas las instancias con su propia cadena de conexión llamada DefaultConnection y todo funcionará.

over 4 years ago · Santiago Trujillo Report

0

En RC2, tuve que cambiar la forma en que se leían mis cadenas de conexión para que funcionaran en Azure. En mi caso, tenía que asegurarme de que la cadena de conexión de Azure se llamara "DefaultConnection" y se accediera a ella mediante:

RC1:

 { "Data": { "DefaultConnection": { "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=db;Trusted_Connection=True;" } } }

Accedido por:

 var conn = Configuration["Data:DefaultConnection:ConnectionString"];

RC2:

 { "Data": { }, "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=db;Trusted_Connection=True;" } }

Accedido por:

 var conn = Configuration.GetConnectionString("DefaultConnection");
over 4 years ago · Santiago Trujillo Report

0

Tiene varias opciones para establecer su cadena de conexión. La clase de configuración predeterminada obtiene la configuración del entorno de diferentes fuentes. Puede configurar su cadena de conexión en config.production.json. o config.staging.json. Ver la clase de inicio

 public Startup(IHostingEnvironment env) { // Setup configuration sources. var configuration = new Configuration() .AddJsonFile("config.json") .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true); if (env.IsEnvironment("Development")) { // This reads the configuration keys from the secret store. // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709 configuration.AddUserSecrets(); } configuration.AddEnvironmentVariables(); Configuration = configuration; }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!