У меня есть служба WCF, и я пытаюсь отправить Dictionary<CustomStruct, int>
с моего клиента на мой сервер. Моя служба WCF использует стандартную привязку BasicHttpBinding.
Когда я отправляю Словарь на сервер, ошибка не выдается. Но когда я пытаюсь зациклить свой словарь, он становится пустым.
Странная вещь в том, что Dictionary<string, string>
на самом деле работает?!
Есть ли у кого-нибудь представление о том, почему мой Dictionary<CustomStruct, int>
пуст после того, как он прошел через провод, и почему Dictionary<string, string>
работает.
[EDIT]
Вот как выглядит моя структура:
[DataContract]
public struct CustomStruct : IEquatable<CustomStruct>
{
[DataMember]
private string _prop;
public string Prop { get { return _prop; } }
public override int GetHashCode()
{
return Prop.GetHashCode();
}
public static bool operator ==(CustomStruct left, CustomStruct right)
{
...
}
public static bool operator !=(CustomStruct left, CustomStruct right)
{
...
}
public override bool Equals(object obj)
{
...
}
}