asp.net 无法读取数据库名称Web项目

xghobddn  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(131)

尝试读取数据库名称,但它在站点中不起作用。使用asp.net Web项目和解决方案文件。我将其放入web.config中。这将通过Web配置转换文件和脚本根据开发数据库或生产数据库PRODDB进行更改。

<appSettings>
        <add key="databaseName" value="DEVELDB"/>
        <add key="operatingEnvironment" value="dev"/>
    </appSettings>

字符串

  • 在Global.asax.cs文件中:*
void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
           
            var operatingEnvironment = WebConfigurationManager.AppSettings["operatingEnvironment"].ToString();

            if (operatingEnvironment == "dev")
            {
                Application["DBE"] = WebConfigurationManager.AppSettings["databaseName"].ToString();
            }
        }

  • 在login.cs类文件中:*
internal static DatabaseConnection GetDatabaseConnection()
            {

                return

                    new DatabaseConnection(
                        new ConnectionProperties
                        {
                            User = Shared.User,
                            Application = Shared.Application,
                            DatabaseName = (string)HttpContext.Current.Application["DBE"]
                        });
            }

  • 在Web.Development.config文件中有:*
<appSettings>
        <add key="databaseName" value="DEVELDB" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
        <add key="operatingEnvironment" value="dev" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
    </appSettings>


然而,每当我在登录后调试,它转到下面的代码,这是好的(与上面的代码相同),但说数据库名称没有指定?我有它指定为DEVELDB和使用“DBE”引用它.然而,它不像它调试到另一个区域和那里,只是直接到那里,杀死它?

...
  {
                            User = Shared.User,
                            Application = Shared.Application,
                            DatabaseName = (string)HttpContext.Current.Application["DBE"]
                        });

6rqinv9w

6rqinv9w1#

与数据库的连接位于“webconfig”文件中的“connectionstrings”标记中。

<configuration>
  <connectionStrings>
    <add name="TwoWayConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\TwoWayData.accdb"
      providerName="System.Data.OleDb" />
    <add name="TWOWAYDATASQL" connectionString="Data Source=TBIRD\SQLEXPRESS1;Initial Catalog=TWOWAYDATASQL.MDF;Integrated Security=True"
  providerName="System.Data.SqlClient" />
 </connectionStrings>
....

    </configuration>

字符串
我是不是误解了你的意图?

相关问题