내 ASP.NET 웹 사이트에서 모든 데이터 레이어로의 호출은 인터페이스로 엔터티를 반환하고 웹 사이트는 구체적인 유형을 알 필요가 없습니다. 이 잘 작동하지만 사용자 프로필에 이러한 형식 중 하나를 저장하려고 할 때 문제가 발생했습니다.ASP.NET 프로필에 인터페이스 유형 저장
public interface IInsured : IPerson, IEntity, ISerializable
및 데이터 영역의 구체적인 유형를 ISerializable을 구현 않습니다 내 인터페이스는 다음과 같은를 ISerializable을 구현합니다.
이<add name="ActiveInsured" type="FacadeInterfaces.IInsured" serializeAs="Binary" defaultValue="[null]"/>
그것은 잘 컴파일,하지만 난 인터페이스를 직렬화 할 수 없다는) Profile.Save (에 런타임 오류가 발생합니다 : Web.config의에서 내 프로필 속성입니다. 나는 또한 serializeAs = "Xml"로 시도했다. 내 인터페이스가 ISerializable을 구현하면 작동 할 것이라고 생각했습니다.
해결 방법을 알기 전에이 문제가 있었나요?
프로필에 일반 목록을 저장하는 것과 비슷한 문제가있었습니다. 내 해결 방법은 일반 목록에서 상속 된 클래스를 만드는 것이 었습니다. 예 : public class RecentlyViewed : List 어쩌면이게 효과가 있을까요? –