2

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); }
    }
}

私のWeb設定は次のようになります。

<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であり、フロントエンドはAzureWCFサービスであることを知っておく必要があります。

ありがとう、

<bleepzter/>
4

1 に答える 1

3

フィールド名とプロパティ名を一致させていますか?Eメール!= EmailAddress && Telephone!= TelephoneNumber

于 2011-01-31T19:00:44.783 に答える