示例#1
0
        //------------------------------------------------------------------------------
        public void Save(string settingName, bool secure, SettingBaseAttribute attr, object value)
        {
            if (secure)
            {
                throw new ArgumentException(
                          String.Format("IsolatedStorageSerializer.Save: " +
                                        "Secure=true canot be applied to the '{0}' setting", settingName));
            }

            m_serializer.Save(settingName, attr, value);
        }
        //------------------------------------------------------------------------------
        public void Save(string settingName, SettingBaseAttribute attr, object value)
        {
            settingName = SettingNamePrefix + settingName;

            var simpleValue = SettingsSerializerHelper.SimplifyObject(value);
            var stringValue = SettingsSerializerHelper.ConvertUsingTypeConverter <String>(simpleValue);

            var binaryData = Encoding.ASCII.GetBytes(stringValue);

            var entropy       = SettingsConfiguration.SecureSettingsAdditionalEntropy;
            var encryptedData =
                ProtectedData.Protect(binaryData, entropy, SettingsConfiguration.SecureSettingsScope);

            string encryptedBase64StringData = Convert.ToBase64String(encryptedData);

            m_Store.Save(settingName, attr, encryptedBase64StringData);
        }