Domanda

Abbiamo un ASP.NET 2.0 moduli web app che utilizzato per essere distribuito attraverso un progetto di distribuzione web. Recentemente abbiamo implementato una nuova versione costruita da TFS / MSBuild e il cambiamento sembra aver causato un problema con la deserializzazione di un oggetto profilo personalizzato.

Questa è la voce nella nostra sezione Profilo / immobili a web.config.

<add name="MyKey" type="OurApp.UserData" serializeAs="Binary" />

Questa non è cambiata a seguito del processo di generazione, né il cambiamento OurApp.UserData.

Tuttavia, quando i tentativi all'applicazione di leggere i dati di un determinato utente, non viene trovato nulla.

Una differenza evidente è che nella versione distribuzione web, un unico OurApp.dll è stato creato per il sito web, mentre la nuova versione è composta da molteplici, assemblee "nome-maciullato". Potrebbe che causano il profilo a Miss lettura delle proprietà memorizzati nel tipo OurApp.UserData?

È stato utile?

Soluzione

The answer did in fact turn out to be the assembly names. After adding a aspnet_merge step to the build process and generating an assembly of the old name, all was well.

Presumedly this indicates that the profile serialization routines embed the fully-qualified class name into the binary data representing object.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top