Я создал службу WCF. В моем контракте на данные у меня есть два атрибута, скажем:
[DataMember]
Private User objUser;
и
[DataMember]
Private tempClass ObjTemp;
У меня есть свойство get и set для обоих атрибутов.В моем классе реализации у меня есть объект класса datacontract ... скажем так.objData
.
Когда я назначаю
objData.ObjTemp=(function which return objTemp);
, сервис работает нормально.Но при назначении.
objData.objUser=(function which return objUser)
выдается следующее сообщение об ошибке:
Основное соединение было закрыто: соединение было неожиданно закрыто.
Когда я комментирую
objData.objUser=(function which return objUser)
, он снова работает нормально.
Когда я проверяю код в своем классе User, я обнаружил одну проблему, создающую свойство.Когда я меняю свойство, оно тоже работает нормально;но я не знаю, почему это свойство создает проблему.
Свойство выглядит следующим образом:
public IPAddress IP { get; set; }
Теперь этот класс IPAdress содержит конструктор и получает и устанавливает переменную ip.В get он просто возвращает переменную ip.
в наборе проверяет некоторое условие и затем присваивает значение переменной ip.Если условие не выполнено, возникает исключение.Кто-нибудь может объяснить, в чем может быть проблема?
Я только что проверил другую вещь.
Если я удаляю атрибут [DataMember]
из private User objUser;
, он работает нормально;но если я положу [DataMember]
обратно, он генерирует ту же ошибку.
есть предложения?