Ошибка пользовательского профиля ASP.NET - PullRequest
2 голосов
/ 29 января 2011

У меня проблема с реализацией профиля ASP.NET.Это код моего профиля:

public class UserProfile: ProfileBase
{
    public static void Get()
    {
        return (UserProfile)Create(Membership.GetUser().UserName);   
    }
    public static void Get(string username)
    {
        return (UserProfile)Create(username);
    }

    //this property works
    [SettingsAllowAnonymous(false)]
    public string FirstName
    {
        get{ return base.GetProperty("FirstName") as String; }
        set{ base.SetPropertyValue("FirstName", value); }
    }

    //this property works
    [SettingsAllowAnonymous(false)]
    public string LastName
    {
        get{ return base.GetProperty("LastName") as String; }
        set{ base.SetPropertyValue("LastName", value); }
    }

    //this property throws "The settings property 'Email' was not found." error.
    [SettingsAllowAnonymous(false)]
    public string EmailAddress
    {
        get{ return base.GetProperty("Email") as String; }
        set{ base.SetPropertyValue("Email", value); }
    }

    //this property throws "The settings property 'Telephone' was not found." error.
    [SettingsAllowAnonymous(false)]
    public string TelephoneNumber
    {
        get{ return base.GetProperty("Telephone") as String; }
        set{ base.SetPropertyValue("Telephone", value); }
    }
}

Моя веб-конфигурация выглядит следующим образом:

<profile inherits="UserProfile" defaultProvider="SqlProfileProvider">
    <providers>
        <add 
            name="SqlProfileProvider" 
            type="System.Web.Profile.SqlProfileProvider"
            connectionStringName="Profile" 
            applicationName="Management" />
    </providers>
</profile>

По какой-то причине, когда код выполняется, и я получаю или обновляю профиль для текущего пользователя, онвзрывается.Однако более любопытно, что свойства FirstName и LastName работают нормально.Ошибки возникают только при доступе / обновлении свойств EmailAddress и TelephoneNumber.

Если я добавлю раздел <properties> в раздел профиля web.config для свойств FirstName, LastName, EmailAddress и TelephoneNumber другого типапоявляется ошибка - «Свойство уже определено» или что-то в этом роде ...

Есть идеи, как это исправить?Также необходимо знать, что серверной частью системы профилей является SQL Azure, а интерфейсной - служба Azure WCF.

Спасибо,

<bleepzter/>

1 Ответ

3 голосов
/ 31 января 2011

Вы уверены, что сопоставляете имена своих полей с именами свойств?Адрес электронной почты! = Адрес электронной почты && Телефон! = Номер телефона

...