WCF 서비스가 있고 공유 어셈블리에서 클라이언트 유형을 공유하고 있습니다. 클라이언트가 파생 클래스를 만드는 경우 리플렉션을 통해 추가 된 속성을 읽을 수 있도록 파생 된 유형을 서비스에 다시 전달할 수 있습니까?클라이언트의 공유 객체 및 파생 클래스가있는 WCF
서비스가 파생 된 형식을 deserialize하는 방법을 모르기 때문에 KnownTypes에 문제가 있습니다.
[Serializable]
public abstract class Car : ICar
{........
// 클라이언트 :
[Serializable]
public class MyCar : Car
{......
나는 예외가 knownType에 대해 불평하지만 난 늘 클라이언트가 될 것입니다 알고 있기 때문에 서버에이를 추가하지 못할 수 서비스에 myCar라는 전달 보내기를 통해 리플렉션을 통해 추가 속성을 처리하려고합니다.
런타임시 클라이언트 유형을 유형으로 등록 할 수 있습니까?
해결책일까요? http://blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx
나는 기본적으로 클라이언트를 필요로하는 웹 검색 ExtensionData 수 있도록하는 방법에
에서이 상황
에 (UI 용) 속성을 추가하여 기본 클래스를 확장 할 수 있습니다. 그런 다음 서비스가 클래스를 반영하고 이러한 추가 속성을 가져 와서 데이터베이스에 저장합니다. Client가 GetCar (id)를 호출하면 서비스는이 속성들을 기본 클래스에 추가하고 다시 전송합니다. 서비스에서 클라이언트 파생 형식을 서비스에 전달 (등록)하여 서비스에서이를 등록하고이를 사용할 수 있습니까 (knowntypes에 추가 + 초기 리플렉션의 db 값 가져 오기) – DeWet
Dictionary 그 추가 속성? 실제로 클라이언트의 추가 속성을위한 방법이 있습니다. 데이터 계약은 IExtensibleDataObject를 구현해야합니다. 이 인터페이스는 다른 시나리오에서 사용하기로되어 있지만 리플렉션을 사용하려는 경우 요구 사항을 달성 할 수 있습니다. 확인 : http://geekswithblogs.net/EltonStoneman/archive/2009/04/03/accessing-extended-data-from-iextensibledataobject.aspx –
사전은 나의 초기 접근 방식 이었지만 객체를 이 편집 작업에 대한 속성 표는 올바르게 기본 클래스 속성을 가지고 있기 때문에 사용자 정의 질문에 dictionay 속성에 대한 사용자 지정 편집기를 추가해야하는 이유는 무엇입니까? 조사 후 링크를보고 다시 재생합니다. 감사합니다. –
DeWet