public virtual void SavePersonalizationState(PersonalizationState state) { string str; string str2; if (state == null) { throw new ArgumentNullException("state"); } BlobPersonalizationState state2 = state as BlobPersonalizationState; if (state2 == null) { throw new ArgumentException(System.Web.SR.GetString("PersonalizationProvider_WrongType"), "state"); } WebPartManager webPartManager = state2.WebPartManager; this.GetParameters(webPartManager, out str, out str2); byte[] dataBlob = null; bool isEmpty = state2.IsEmpty; if (!isEmpty) { dataBlob = state2.SaveDataBlob(); isEmpty = (dataBlob == null) || (dataBlob.Length == 0); } if (isEmpty) { this.ResetPersonalizationBlob(webPartManager, str, str2); } else { this.SavePersonalizationBlob(webPartManager, str, str2, dataBlob); } }
/// <devdoc> /// Allows the provider to save personalization data. The specified information /// contains a reference to the WebPartManager, which is used to access the /// current Page, and its path and user information. /// </devdoc> public virtual void SavePersonalizationState(PersonalizationState state) { if (state == null) { throw new ArgumentNullException("state"); } BlobPersonalizationState blobState = state as BlobPersonalizationState; if (blobState == null) { throw new ArgumentException(SR.GetString(SR.PersonalizationProvider_WrongType), "state"); } WebPartManager webPartManager = blobState.WebPartManager; string path; string userName; GetParameters(webPartManager, out path, out userName); byte[] dataBlob = null; bool reset = blobState.IsEmpty; if (reset == false) { dataBlob = blobState.SaveDataBlob(); reset = (dataBlob == null) || (dataBlob.Length == 0); } if (reset) { ResetPersonalizationBlob(webPartManager, path, userName); } else { SavePersonalizationBlob(webPartManager, path, userName, dataBlob); } }