我在这里遇到了一些麻烦。我有一个自定义配置文件,我在同一解决方案的两个应用程序中使用它。第一个是我构建的 Web 应用程序,用于将一组自定义的用户配置文件和属性从旧的 .net 应用程序导入到 .net 成员资格、角色、配置文件表中。我构建了一个从 profilebase 继承的配置文件公共类。两个应用程序在它们的命名空间中都有相同类的副本。
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 中如此大规模地使用此功能。任何帮助是极大的赞赏。
谢谢。