Я создаю веб-API ASP.NET Core 8, но не могу заставить работать строку подключения для моей базы данных. Если я жестко запрограммирую соединение, оно будет работать нормально.
Это моя попытка использовать строки подключения в Program.cs:
builder.Services.AddDbContext(
options =>
{
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
});
Это ошибка в Swagger:
Microsoft.Data.SqlClient.SqlException (0x80131904): Сеть- При установке соединения с SQL Server произошла связанная или специфичная для экземпляра ошибка. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 – не удалось открыть соединение с SQL Server)
Это работает отлично, и API работает
Это работает отлично, и API работает
р>
builder.Services.AddDbContext(
options =>
{
options.UseSqlServer("server = DESKTOP-RCQQR4T,1433; database = PARTIDOS; user = joacosa; password = 1234xd;TrustServerCertificate=true;");
});
Это мой файл appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "server = DESKTOP-RCQQR4T,1433; database = PARTIDOS; user = joacosa; password = 1234xd;TrustServerCertificate=true;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
Полная программа.cs:
using Microsoft.EntityFrameworkCore;
using Microsoft.IdentityModel.Tokens;
using PARTIDOS_API.Data;
using PARTIDOS_API.Repository;
using PARTIDOS_API.Repository.Interfaces;
using PARTIDOS_API.REPOSITORY;
using PARTIDOS_API.REPOSITORY.Interfaces;
using PARTIDOS_API.TABLAS;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddDbContext(
options =>
{
options.UseSqlServer("server = DESKTOP-RCQQR4T,1433; database = PARTIDOS; user = joacosa; password = 1234xd;TrustServerCertificate=true;");
});
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddTransient();
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowAnyOrigin",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseRouting();
// Habilitar CORS
app.UseCors("AllowAnyOrigin");
app.UseAuthorization();
app.MapControllers();
app.Run();
Подробнее здесь: https://stackoverflow.com/questions/785 ... t-work-net