簡體   English   中英

無法讀取數據庫名稱 web 項目

[英]Can't read database name web project

試圖讀取數據庫名稱,但它在站點中不起作用。 使用帶有解決方案文件的 asp.net web 項目。 我把它放在 web.config 中。 這將根據開發數據庫或生產數據庫 PRODDB 通過 web 配置轉換文件和腳本進行更改。

    <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 class 文件中:

 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"]
                        });

在“webconfig”文件中的“connectionstrings”標簽內連接到數據庫 go。 如果您需要 SqlServer,如下所示

 <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>

我是否誤解了您要執行的操作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM