나는 이걸로 머리를 부러 뜨 렸어. 어떤 도움을 주셔서 감사합니다.사용자 지정 개인 설정 공급자 - 구현 FindState 메서드
사용자 지정 PersonalizationProvider, 사용자 지정 WebPartManager 및 사용자 지정 WePart 클래스가 있습니다. 사용자마다 개인 설정 데이터를 저장하기위한 사용자 지정 데이터 테이블이 있습니다. 내 임무는 개인화 가능한 속성을 설정할 수 있도록 각 사용자가 추가 한 모든 웹 파트를 프로그래밍 방식으로 반복하는 것입니다.
는 문서에 따르면, FindState 방법은 주어진 PersonalizationStateQuery에 대한 PersonalizationStateInfoCollection을 반환
PersonalizationStateQuery pq = new PersonalizationStateQuery();
pq.PathToMatch = path;
pq.UsernameToMatch = userName;
int count;
CustomPersonalizationProvider provider= new CustomPersonalizationProvider();
PersonalizationStateInfoCollection pcol = provider.FindState(PersonalizationScope.User, pq, 0, Int32.MaxValue, out count);
PersonalizationProvider는 추상 클래스 만 내 사용자 정의 클래스의 FindState 방법에 대한 내 자신의 구현을 제공해야합니다. 지난 6 시간 동안 뭔가를 찾으려고했지만이 방법을 구현하는 방법을 모르겠습니다.
PersonalizationData는 blob입니다. 객체 배열에 그것을 deserialize 할 수 있습니다. 그러나 더 이상 아무것도. PersonalizeStateInfoCollection 위해 해당 BLOB serialize하는 방법을 모르겠다.
String BlobString = Convert.ToBase64String(UserDataBlob);
ObjectStateFormatter formatter = new ObjectStateFormatter();
Object[] DeserializedObjects = (Object[])formatter.Deserialize(BlobString);
누구의 WebPartManager는 UserPersonalizationData가 데이터베이스에 저장되어있는 바이트 배열에 직렬화하는 방법을 알고 있나요?