Exemplo n.º 1
0
        /// <summary>
        /// Writes personalization state corresponding to a specified user and a specified page as an opaque blob to the database.
        /// </summary>
        /// <param name="webPartManager">The web part manager.</param>
        /// <param name="path">The path indicating where to save the data.</param>
        /// <param name="userName">The user name.</param>
        /// <param name="dataBlob">A byte array containing the data to be saved.</param>
        /// <remarks>If userName is <c>null</c>, then the personalization state is shared state and is not keyed by user name.</remarks>
        protected override void SavePersonalizationBlob(WebPartManager webPartManager, string path, string userName, Byte[] dataBlob)
        {
            MySQLPersonalizationConnectionHelper connection = new MySQLPersonalizationConnectionHelper(connectionString);

            try
            {
                MySqlCommand cmd = new MySqlCommand();
                connection.OpenConnection(true);
                if (!string.IsNullOrEmpty(userName))
                {
                    PersonalizationProviderProcedures.my_aspnet_PersonalizationPerUser_SetPageSettings(ApplicationId, userName, path, dataBlob, DateTime.UtcNow, connection);
                }
                else
                {
                    PersonalizationProviderProcedures.my_aspnet_PersonalizationAllUsers_SetPageSettings(ApplicationId, path, dataBlob, DateTime.UtcNow, connection);
                }
            }
            catch (Exception ex)
            {
                if (writeExceptionsToEventLog)
                {
                    WriteToEventLog(ex, "MySQLPersonalizationProvider - SavePersonalizationBlob");
                }
                throw;
            }
        }