Я пытаюсь отправить класс на wcf, у меня возникают проблемы с сериализацией этого класса System.Windows.Media.Media3D.Vector3d. Я получаю это исключениеИсключение в System.Windows.Media.Media3D.Vector3d сериализации по вызову wcf
При попытке сериализовать параметр WEntityService: iState произошла ошибка. Сообщение InnerException было «Тип» System.Windows.Media.Media3D.Vector3D 'с именем контракта данных ' Vector3D: http: //schemas.datacontract.org/2004/07/System.Windows.Media.Media3D 'не является ожидается. Рассмотрим с использованием DataContractResolver или добавьте любые типы, не известные статически в список известных типов - например, с помощью атрибута KnownTypeAttribute или путем добавления их в список известных типов, переданных DataContractSerializer. '.
Для получения дополнительной информации см. InnerException.
[DataContract]
public ref class WData
{
public:
WData();
[DataMember]
Vector3D^ mLinearVelocity;
[DataMember]
System::String^ mName;
};
WData::WData()
: mLinearVelocity(gcnew Vector3D(0.0, 0.0, 0.0))
, mName(gcnew System::String(' ', 1))
{
}
На веб-сайте MSDN http://msdn.microsoft.com/en-us/library/ms606682.aspx, вы можете увидеть, что Vector3D имеет Serializable attiribute. Для сериализуемого типа wcf, если я ссылаюсь на эту веб-страницу: http://msdn.microsoft.com/en-us/library/ms731923.aspx Vector3D должен быть сериализуем для wcf. Может кто-нибудь объяснить мне, почему это не сериализовано. Thks.