ASP.NETプロファイルの実装に問題があります。これは私のプロフィールコードです:コードが実行されると、私は取得またはそれが吹くまで、現在のユーザーのプロファイルを更新するいくつかの理由ASP.NETカスタムプロファイルエラー
<profile inherits="UserProfile" defaultProvider="SqlProfileProvider">
<providers>
<add
name="SqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="Profile"
applicationName="Management" />
</providers>
</profile>
:
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構成は次のようになります。しかし、より興味深いのは、FirstNameプロパティとLastNameプロパティが正常に動作することです。エラーは、EmailAddressプロパティとTelephoneNumberプロパティにアクセス/更新する場合にのみ発生します。
FirstName、LastName、EmailAddress、およびTelephoneNumberの各プロパティのweb.configプロファイルセクションに<properties>
セクションを追加すると、「プロパティは既に定義されています」というような別のタイプのエラーが表示されます。
これを修正する方法についてのご意見はありますか?また、プロファイルシステムのバックエンドはSQL Azureで、フロントエンドはAzure WCFサービスであることが必要です。
おかげで、
<bleepzter/>
フィールド名とプロパティ名を一致させてもよろしいですか?メール!= EmailAddress &&電話!= TelephoneNumber –
ありがとうございます。これが答えだったので、これを実際の答えとして書いてください。フィールド名が一致しなければならないと考えたのは誰でしょうか?私は、ProfileBaseが辞書/ハッシュテーブルとしてプロパティを実装していることを意味します。私はそれがセッション/ ViewStateなどに使用されるStateBagに似ていると思った。絶対にどこでも私は内部プロパティキーが一致しなければならないと言うポストを見つけました! Moreso、Commerce ServerのUPMメンバシップ/ロールプロバイダの実装には、プロパティ名と異なるキーがあります。 – bleepzter
@bleeptzer:あなたがこのコメントにあなたにお答えしたように、あなたが彼にメッセージを送るまで、アーロンはあなたのメッセージを取得しません。 –