asp.net mvc自定义配置文件提供程序
|
我希望在asp.net mvc 3应用程序中具有自定义配置文件提供程序。问题是,我不想使用由ASP.NET成员资格/角色/配置文件提供程序生成的默认数据库,主要是因为已经使用WebService进行了身份验证并且数据库已经存在。
我想用用户个人资料属性来填充它们并在网站的不同区域内使用。
我看了这个示例(如何分配配置文件值?),但出现此错误:
尝试为文件附加自动命名的数据库
C:\\ Projects \\ FWManager \\ App_Data \\ aspnetdb.mdf失败。具有以下内容的数据库
存在相同的名称,或者无法打开指定的文件,或者
位于UNC共享上。
这是web.config
<profile inherits=\"FWMembership.Membership.FWProfileProvider\" defaultProvider=\"AspNetSqlProfileProvider\" automaticSaveEnabled=\"false\" enabled=\"true\">
<providers>
<clear/>
<add name=\"AspNetSqlProfileProvider\" type=\"System.Web.Profile.SqlProfileProvider\" connectionStringName=\"ApplicationServices\" applicationName=\"/\" />
</providers>
</profile>
这是我的习俗课
public class FWProfileProvider : ProfileBase
{
[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 int? UserID
{
get { return base[\"UserID\"] as int?; }
set { base[\"UserID\"] = value; }
}
[SettingsAllowAnonymous(false)]
public string UserCompany
{
get { return base[\"UserCompany\"] as string; }
set { base[\"UserCompany\"] = value; }
}
[SettingsAllowAnonymous(false)]
public string Email
{
get { return base[\"Email\"] as string; }
set { base[\"Email\"] = value; }
}
public StringCollection Entitlements
{
get { return base[\"Entitlements\"] as StringCollection; }
set { base[\"Entitlements\"] = value; }
}
public string username;
public FWProfileProvider()
{
}
public FWProfileProvider(string username)
{
this.username = username;
}
static public FWProfileProvider CurrentUser
{
get
{
return (FWProfileProvider)
(ProfileBase.Create(\"Joe\"));
}
}
}
关键是避免使用asp.net默认成员资格表。
有任何想法吗?
编辑:
忘了添加-此Web应用程序,但配置文件提供程序以相同的解决方案放置在类库项目中:
解
|-> FWProfile(类库项目)
|-> UI(asp.net mvc 3 Web应用程序)
没有找到相关结果
已邀请:
1 个回复
镰茧钩
希望这可以帮助。