c# - 如何连接到数据库?
问题描述
将我的应用程序部署到 AWS 后无法从服务器获得响应。
我刚刚从Microsoft 教程中创建了小型 REST 服务器应用程序。我还尝试使用 UseSqlServer 从 Amazon Db 复制连接字符串。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<GameContext>(opt =>
opt.UseSqlServer(/* AmazonDbConnectionString */);
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
当我在本地计算机上启动它时,它似乎可以工作:我将数据插入 DbTable 并使用 Sql Server Management Studio 查看更改。但是当我将它发布到 AWS 时它不起作用:我可以加载默认的 ValueController 并获得响应 [value1, value2]。所以毫无疑问该应用程序正在运行,但无法获得 DbDataController 的响应。
我也尝试遵循亚马逊教程并使用 ConfigurationManager.AppSettings 但它总是返回 null 。
[HttpGet("connection")]
public ActionResult<string> Get()
{
return "ConnectionString: " + GameContext.GetRDSConnectionString();
}
...
public static string GetRDSConnectionString()
{
var appConfig = ConfigurationManager.AppSettings;
string dbname = appConfig["RDS_DB_NAME"];
if (string.IsNullOrEmpty(dbname)) return null;
string username = appConfig["RDS_USERNAME"];
string password = appConfig["RDS_PASSWORD"];
string hostname = appConfig["RDS_HOSTNAME"];
string port = appConfig["RDS_PORT"];
return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";";
}
解决方案
我用它从 Appsetting 中获取价值及其对我的工作:
//Appsetting
"ApplicationConfigurations": {
"SendSmsActive": "true"
}
//Controller
public class HomeController : Controller
{
private readonly IConfiguration _configuration;
public HomeController( IConfiguration configuration)
{
_configuration = configuration;
}
public string GetConfig()
{
string str = _configuration["ApplicationConfigurations:SendSmsActive"].ToString();
}
}
推荐阅读
- awk - 如果文件替换包含反斜杠,则查找并替换给出错误
- python - 从 json 文件中删除所有 xmlns 标记
- c# - 如何以编程方式提交 Blazor 表单?
- python - 无法弄清楚为什么我会收到此错误:“IndentationError: unindent does not match any external indentation level”在我编写的每一行代码中
- c# - 使用 Dapper 时出现 System.TypeLoadException
- c - 如何将内存分配初始化为 1s?
- c# - 我已经用 [JsonProperty("file_list")] 注释了我的模型,但没有遵循该指令
- eclipse - eclipse 2018-09 maven 找不到依赖,但它无处不在
- flutter - 如何使用图标作为图像
- android - 如何在 Unity 中使用 Mirror 连接两个真实设备?