2009-12-23 6 views
4

我觉得PropertyValuesString是通常是这些类型对象的Key-Value对的值部分。但是,如果您已经将该值放入PropertyValuesString,那么PropertyValuesBinary字段在哪里?什么是ASPNET_Profiles表中的PropertyValuesString和PropertyValuesBinary字段?

这两个字段都是不可空的,所以我需要一些东西放在每个。两者之间有什么区别,我应该如何加入?

另外,我想知道为什么它是复数 - PropertyValue s - 对整个键值对事情没有真正意义,我认为一个属性应该有一个值。

回答

7

SqlProfileProvider在aspnet_Profile表的三个字段中保存配置文件属性:PropertyNames,PropertyValuesString和PropertyValuesBinary。以下是存储在每个字段中的内容摘要: * PropertyNames包含一个字符串值,其中包含有关PropertyValuesString和PropertyValuesBinary字段中存在的配置文件属性值的信息。该字符串包含冒号分隔的项目列表;每个项目表示一个属性值,并按以下格式编码: 名称:B | S:StartPos:长度

名称是属性值的名称。第二个参数是B(对于“二进制”)或S(对于“字符串”),指示相应的属性值是存储在字段(B)中的字段(S)还是存储在PropertyValuesBinary字段(B)中。 StartPos和Length分别表示这些字段中相应属性值的起始位置(从0开始)以及数据的长度。长度为-1表示属性是引用类型,并且其值为空。 * PropertyValuesString将配置文件属性值保存为字符串。这包括由.NET Framework的XML序列化器序列化的属性值,以及使用字符串类型转换器序列化的属性值。 PropertyNames字段中的“S”值包含将PropertyValuesString分解为各个属性值所需的偏移量和长度。 * PropertyValuesBinary商店配置文件属性值以二进制格式保存 - 即使用.NET Framework的二进制序列化器序列化的配置文件属性。 PropertyNames字段中的“B”值包含将PropertyValuesBinary分解为各个属性值所需的偏移量和长度。

请注意,配置文件提供程序不需要以此格式或任何其他格式保存数据。配置文件数据的存储格式由编写提供商的人员决定。

原始链接更多信息:http://msdn.microsoft.com/en-us/library/aa478953.aspx 希望这有助于。

相关问题