나는 여기서 피클을 먹었습니다. 동일한 솔루션에서 두 개의 응용 프로그램에서 사용한 사용자 지정 프로필이 있습니다. 첫 번째는 이전 .net 응용 프로그램의 사용자 프로필 및 특성 집합을 .net 멤버 자격, 역할, 프로필 테이블로 가져 오기 위해 빌드 한 웹 응용 프로그램이었습니다. 프로필베이스를 상속 한 프로필 공통 클래스를 만들었습니다. 두 응용 프로그램 모두 네임 스페이스 내에 동일한 클래스의 복사본을 가지고 있습니다..net 프로필 공급자 및 사용자 정의 프로필. ''설정 속성을 찾을 수 없습니다.
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;
}
}
}
}
내 웹 구성 파일의 내 프로필 공급자 섹션은 다음과 같습니다. 나는 사용자 가져 오기를 수행 한 응용 프로그램을 사용하고, 회원, 역할과 내가 만든 프로파일을 사용하는 또 다른이는 원인이 경우
<profile defaultProvider="WebProjectProfileProvider" inherits="WebProject.ProfileCommon">
<providers>
<clear />
<add name="WebProjectProfileProvider" applicationName="/" type="System.Web.Profile.SqlProfileProvider" connectionStringName="Test"/>
</providers>
</profile>
은 "설정 속성을 ''을 (를) 찾을 수 없습니다." 오류? 오류가 발생한 위치와 내가 이미 확인한 가장 일반적인 원인 중 일부를 정확히 파악하지 못하는 것 같습니다. 이러한 대규모로 .net에서이 기능을 사용한 것은 이번이 처음입니다. 어떤 도움이라도 대단히 감사합니다.
감사합니다.
어디에서 사용 가능한 설정 이름과 유형을 지정 했습니까? 올바르게 기억한다면 Web.config 파일에도 지정해야합니다. – Venemo
지정된 이름과 유형은 프로필 공통 클래스 자체 내에 있습니다. 왜냐하면 나는 web.config에서을 사용하기 때문입니다. 위에 나열된 것처럼 프로파일 공통 클래스 내에서 유형을 자동으로 인식합니다. "상속"특성을 사용하지 않으면 .net 프레임 워크는 런타임에 특성이 선언되지 않았 음을 나타내는 오류를 던집니다. 상속 속성을 사용하지 않는 경우 개발자는 노드를 사용하여 web.config 파일 내에서 이름과 유형을 선언해야합니다. –
gsirianni