私はここで少しピクルスに遭遇しました。同じソリューションの2つのアプリケーションで使用したカスタムプロファイルがあります。1つ目は、ユーザープロファイルと属性のカスタムセットを古い.netアプリケーションから.netメンバーシップメンバーシップ、ロール、プロファイルテーブルにインポートするために構築したWebアプリケーションでした。プロファイルベースから継承するプロファイル共通クラスを作成しました。両方のアプリケーションは、名前空間内に同じクラスのコピーを持っています。
using System;
using System.Web.Security;
using System.Web.Profile;
using System.Collections.Specialized;
namespace WebProject
{
public class ProfileCommon : ProfileBase
{
public static ProfileCommon GetUserProfile(string username)
{
return Create(username) as ProfileCommon;
}
public static ProfileCommon GetUserProfile()
{
return Create(Membership.GetUser().UserName) as ProfileCommon;
}
[SettingsAllowAnonymous(false)]
public string FirstName
{
get
{
return base["FirstName"] as string;
}
set
{
base["FirstName"] = value;
}
}
[SettingsAllowAnonymous(false)]
public string LastName
{
get
{
return base["LastName"] as string;
}
set
{
base["LastName"] = value;
}
}
[SettingsAllowAnonymous(false)]
public string Email
{
get
{
return base["Email"] as string;
}
set
{
base["Email"] = value;
}
}
[SettingsAllowAnonymous(false)]
public StringCollection Sites
{
get
{
return base["Sites"] as StringCollection;
}
set
{
base["Sites"] = value;
}
}
}
}
Web構成ファイルのプロファイルプロバイダーセクションは次のようになります。
<profile defaultProvider="WebProjectProfileProvider" inherits="WebProject.ProfileCommon">
<providers>
<clear />
<add name="WebProjectProfileProvider" applicationName="/" type="System.Web.Profile.SqlProfileProvider" connectionStringName="Test"/>
</providers>
</profile>
あるアプリケーションを使用してユーザーのインポートを実行し、別のアプリケーションを使用して作成したメンバーシップ、ロール、およびプロファイルを使用すると、「設定プロパティ''が見つかりませんでした」という原因になります。エラー?エラーが発生している場所と、すでに確認した最も一般的な原因のいくつかを特定できないようです。この機能を.netでこれほど大規模に使用したのはこれが初めてです。どんな助けでも大歓迎です。
ありがとう。