如何连接到Db?

时间:2019-05-06 09:52:50

标签: c# rest amazon-rds

将我的应用程序部署到AWS后,无法从服务器获得响应。

我刚刚从Microsoft tutorial创建了一个小型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的响应。

我也尝试遵循Amazon tutorial并使用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 + ";";
}

1 个答案:

答案 0 :(得分:0)

我用它来从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();
        }
  }