0

如何序列化DbConnectionStringBuilder对象。我需要将对象从服务器发送到客户端。

尝试使用这种方法序列化 IDcitionary 。但是在客户端,当我将这些键添加到对象时,它会为其分配一个时髦的连接字符串。如果你这样做

_connectionStringBuilder.ConnectionString = string.Empty;

这将删除所有密钥。

是否可以将 DbProviderFactory 对象从服务器返回到客户端?

4

1 回答 1

1

StringDictionary not save as user setting ”显示了一种序列化方式DbConnectionString

public static string Serialize(StringDictionary data)
{
    if(data == null) return null; // GIGO
    DbConnectionStringBuilder db = new DbConnectionStringBuilder();
    foreach (string key in data.Keys)
    {
        db[key] = data[key];
    }
    return db.ConnectionString;
}
public static StringDictionary Deserialize(string data)
{
    if (data == null) return null; // GIGO
    DbConnectionStringBuilder db = new DbConnectionStringBuilder();
    StringDictionary lookup = new StringDictionary();
    db.ConnectionString = data;
    foreach (string key in db.Keys)
    {
        lookup[key] = Convert.ToString(db[key]);
    }
    return lookup;
}

StringDictionary用于序列化。

于 2012-08-24T16:17:22.090 回答