Вам просто нужно break
в вашем else
, в противном случае на следующей итерации response
снова станет true
:
else {
response = false;
break;
}
WCF будет поддерживать наследование, но необходимо украсить контракт данных с известным типом attibute. Например:
[DataContract]
[KnownType(typeof(Customer))]
class Contact
{
[DataMember]
public string FirstName
{get;set;}
[DataMember]
public string LastName
{get;set;}
}
[DataContract]
class Customer : Contact
{
[DataMember]
public int OrderNumber
{get;set;}
}
HTH.