簡體   English   中英

C#-Settings.Default.Save()非常慢

[英]C# - Settings.Default.Save() is very slow

我想在程序關閉時保存一些UI更改。 我讀過最簡單的方法之一就是設置。 我認為我將在程序關閉時將這些更改保存到設置中,而不是在用戶每次更改這些設置時將其保存。 所以,我有這個:

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    { 
        Properties.Settings.Default.PostProcessSubs = checkBox_PPSubs.Checked;
        Properties.Settings.Default.Save();
    }

這只會保存該復選框在默認情況下是打開還是關閉。 但是,當我遇到這個問題時,按X將其關閉時,應用程序會掛一兩秒鍾。 如果我注釋掉save()命令,它會關閉,但是當然不會保存更改。 除此之外,一切都正常,所以我覺得很奇怪,這個過程太慢了。

順便說一句,我的設置沒有ated腫,什么都沒有,我只有兩個布爾值和兩個小字符串。

編輯:僅在通過無調試啟動時運行。 運行低谷調試或低谷發布正常。 還是很奇怪。

Edit2:不,仍然發生。 慢如地獄。

好的,我解決了這個問題,感到沮喪。 但是,如果有人遇到類似問題,這里有一個指示。 因此,發生的是我的配置文件為16 MB。 為什么? 好吧,配置之一是可執行文件的路徑。 但是,我用於該可執行文件的代碼是不正確的,因為我沒有考慮程序的其他部分就復制了它。 我有這個...很傷心

 Properties.Settings.Default.ProgramPath = 
System.IO.File.ReadAllText(openFileDialog1.FileName.ToString());

顯然應該是

 Properties.Settings.Default.ProgramPath = 
openFileDialog1.FileName.ToString();

當然,我原來的代碼是將整個可執行文件轉換為文本,然后將其保存到配置文件中。 配置文件變得腫,即使我不再使用那部分代碼,配置文件也已經腫。 因此,每當我保存任何其他配置時,它都保存了16 MB文件,而不是保存幾個KB文件。 每次。 是的...

TLDR:檢查您的配置文件大小...由於某些原因可能會might腫。

暫無
暫無

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

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