![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
Hi Tom, From your description, you're writing your custom code to load binary data from ASP.NET webpart personalization database and deserialize againstit, however,you're encountering some error on it , correct? Based on my understanding, it is only when you developing a custom personalization provider or customize the existing one will you need to deal with the underlying binary data blob's load & store. So are you developing your custom webpart personalization provider? If you're customizing the default SQL personalization provider or also use the same database, you can have a look at the built-in provider's code implementation on how to retrieve the binary blob from database. Here is the code I picked from reflector (of the SqlPersonalizationProvider class) ================================== private byte[] LoadPersonalizationBlob(SqlConnection connection, string path, string userName) { SqlCommand command; if (userName != null) { command = new SqlCommand("dbo.aspnet_PersonalizationPerUser_GetP ageSettings", connection); } else { command = new SqlCommand("dbo.aspnet_PersonalizationAllUsers_Get PageSettings", connection); } this.SetCommandTypeAndTimeout(command); command.Parameters.Add(this.CreateParameter("@Appl icationName", SqlDbType.NVarChar, this.ApplicationName)); command.Parameters.Add(this.CreateParameter("@Path ", SqlDbType.NVarChar, path)); if (userName != null) { command.Parameters.Add(this.CreateParameter("@User Name", SqlDbType.NVarChar, userName)); command.Parameters.Add(this.CreateParameter("@Curr entTimeUtc", SqlDbType.DateTime, DateTime.UtcNow)); } SqlDataReader reader = null; try { reader = command.ExecuteReader(CommandBehavior.SingleRow); if (reader.Read()) { int length = (int) reader.GetBytes(0, (long) 0, null, 0, 0); byte[] buffer = new byte[length]; reader.GetBytes(0, (long) 0, buffer, 0, length); return buffer; } } finally { if (reader != null) { reader.Close(); } } return null; } ========================================= Also, here are some other reference on building custom personalization provider: http://msdn2.microsoft.com/en-US/library/aa479037.aspx http://msdn.microsoft.com/msdnmag/is...5/09/WebParts/ Hope this helps. Sincerely, Steven Cheng Microsoft MSDN Online Support Lead ================================================== Get notification to my posts through email? Please refer to http://msdn.microsoft.com/subscripti...ult.aspx#notif ications. Note: The MSDN Managed Newsgroup support offering is for non-urgent issues where an initial response from the community or a Microsoft Support Engineer within 1 business day is acceptable. Please note that each follow up response may take approximately 2 business days as the support professional working with you may need further investigation to reach the most efficient resolution. The offering is not appropriate for situations that require urgent, real-time or phone-based interactions or complex project analysis and dump analysis issues. Issues of this nature are best handled working with a dedicated Microsoft Support Engineer by contacting Microsoft Customer Support Services (CSS) at http://msdn.microsoft.com/subscripti...t/default.aspx. ================================================== This posting is provided "AS IS" with no warranties, and confers no rights. |
#4
| |||
| |||
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |