应用程序设置是否有最大大小?

时间:2013-12-08 18:18:28

标签: c# application-settings

背景: 我在一个设置中有一个大的xml字符串,但无法反序列化。 XmlSerializer抱怨它不是有效的xml。在Project>中查看字符串时设置看起来被截断了。

如果应用程序设置的大小有限但我没有找到任何内容,我会用Google搜索。

然后我尝试使用以下代码生成的dummydata重现它:

[Test]
public void DumpDummyData()
{
    int n = 500;
    var s = new string('a', 100);
    using (FileStream stream = File.OpenWrite(@"C:\Temp\"+n+".txt"))
    {
        using (var writer = new StreamWriter(stream))
        {

            for (int i = 0; i < n; i++)
            {
                writer.WriteLine( i +" " +s);
            }
        }
    }
}

在设置中粘贴文件内容时,字符串在第310行被截断。在两个不同的项目中尝试过。

我的问题是应用设置大小的限制是什么?

2 个答案:

答案 0 :(得分:5)

所以我做了一个快速测试

using System;

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(Properties.Settings.Default.test.Length);
        Console.ReadKey();
    }
}
}

测试设置包含超过50,000个字符的长文本

它确实有用。

我所做的是手动更改了app.config,而不是从visual studio解决方案属性设置。

我假设设置屏幕使用默认的最大值。文本框的默认最大值为32,767个字符。

那么您可以自行更改app.config来再次尝试测试吗?

请勿使用visual studio解决方案属性设置屏幕。

答案 1 :(得分:0)

我只是进行了一次测试,看起来设置字符串可以容纳32,767字节的文本(2个字节的字节)。太巧合了,不要认为它是设计限制。

但是有一个XML文档设置类型(单击“浏览”)。这可能是一种解决限制的方法。