[Serializable]
public class KeyValue : ProfileBase
{
public KeyValue() { }
public KeyValuePair<string, string> KV
{
get { return (KeyValuePair<string, string>)base["KV"]; }
set { base["KV"] = value; }
}
}
public void SaveProfileData()
{
KeyValue profile = (KeyValue) HttpContext.Current.Profile;
profile.Name.Add(File);
profile.KV = new KeyValuePair<string, string>("key", "val");
profile.Save();
}
public void LoadProfile()
{
KeyValue profile = (KeyValue) HttpContext.Current.Profile;
string k = profile.KV.Key;
string v = profile.KV.Value;
Files = profile.Name;
}
Estoy tratando de guardar KeyValuePair<K,V>
en asp.net userprofile y también se guarda pero cuando estoy accediendo a él, muestra tanto la propiedad de clave como de valor nula, ¿alguien me puede decir dónde estoy equivocado?¿Podemos guardar KeyValuePair <K,V> en el perfil de usuario?
En LoadProfile()
k y v son nulas.
Web.config
<profile enabled="true" inherits="SiteBuilder.Models.KeyValue">
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
Intentaré darle un nombre distinto a su propiedad, es decir, guardar y leer '[" _KV "]' o similar; no puedo imaginar por qué eso podría marcar la diferencia, pero podría ser para la serialización. – Rup
No puedo reproducir esto en un nuevo proyecto MVC3 (es decir, funciona bien). ¿Puedes proporcionar un caso de prueba completo? De lo contrario, le recomendaría que verifique su flujo; quizás en el momento en que llame a LoadProfile(), no tenga ningún valor. – georgiosd