簡體   English   中英

為什么使用WebConfigurationManager在Web.Config中找不到AppSetting?

[英]Why can I not find an AppSetting in my Web.Config with WebConfigurationManager?

我的解決方案中有2個項目。 一個是MVC Web應用程序,另一個是帶有Web服務的空網站

昨天,我通過在Web Service項目上單擊鼠標右鍵來添加設置,然后轉到properties =>手動添加設置。

這將創建一個設置文件,並將設置添加到Web.Config。

今天,我手動修改了Web.config文件(我不確定這是原因),但是由於某些原因,以下代碼無法使我的設置脫離Web.Config:

string connstring = WebConfigurationManager.AppSettings["someString"];

它只是返回null

設置名稱正確。 MVC項目也以相同的方式添加了設置,在那里我可以毫無問題地獲得所有設置。

我嘗試過的事情:

  • 雙重/三重/四重檢查設置名稱是否正確
  • 我已經以管理員身份重新啟動了Visual Studio。
  • 我已經刪除了設置文件並重新創建了它。 =>這也會自動修改Web.Config
  • 檢查是否有對System.Configuration的引用

我注意到的另一件奇怪的事情是:

當我在立即窗口=>中鍵入“ WebConfigurationManager”時,看起來其中有0個AppSettings。 它還指示我有2個連接字符串,而實際上它們確實不存在(如果我執行Ctrl + Shift + F,則在解決方案中找不到位置):這是連接字符串“ WebConfigurationManager.ConnectionStrings [0]”返回:

ConnectionString: "data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"

我幾乎會以為它打開了錯誤的Web.config(但由於我的解決方案中不存在上面的連接字符串,所以在我的任何項目中都沒有一個)

謝謝你的提示!

額外信息,web.config的內容:

....

<applicationSettings>
    <SomeWebServices.Properties.Settings>
        <setting name="someString" serializeAs="String">
            <value>DATA SOURCE=abcdefg;USER ID=ABC;PASSWORD=abc987</value>
        </setting>
        <setting name="someOtherString" serializeAs="String">
            <value>DATA SOURCE=abcde;USER ID=ABC;PASSWORD=abc654</value>
        </setting>
    </SomeWebServices.Properties.Settings>
</applicationSettings>

由於您在web.config中使用的是applicationSettings而不是appSettings ,因此您需要通過Properties.Settings.Default.someString訪問設置

如果要使用string connstring = WebConfigurationManager.AppSettings["someString"]; 您必須在web.config的appSettings部分中添加設置。

編輯:
如果您真正想要的是放置連接字符串的位置,則應遵循BilginAksoy的回答,並使用web.config的connectionStrings部分。

如果您使用.NET 3.5或更高版本,請不要在web.config中使用appsettings。 而是使用web.config中的connectionStrings部分。

試試這個web.config

<connectionStrings>
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

暫無
暫無

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

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