Я отправляю (публикую) данные Json в службу wcf.Передача Json для отдыха WCF
public interface IRegisterEmployee
{
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.Bare, ResponseFormat=WebMessageFormat.Json, UriTemplate = "AddEmployee")]
bool ProcessEmployee(Employee emps);
}
[DataContract]
public class Employee
{
[DataMember]
public Emp[] emps { get; set; }
}
DataContract]
public class Emp
{
[DataMember]
public string FName { get; set; }
[DataMember]
public string joinDate {get; set; }
[DataMember]
public Contact[] contacts {get; set; }
}
DataContract]
public class Contact
{
[DataMember]
public string key { get; set; }
[DataMember]
public string value {get; set; }
}
public class RegisterEmployee : IRegisterEmployee
{
public bool ProcessEmployee(Employee emps)
{
//do some processing
return true;
}
Когда я использую fiddler для отправки входных данных (json), в режиме отладки я вижу, что вход (emps) содержит значения для Emp (то есть FName и joinDate), однако данные для Контакт (ключ, значение) идут как пустая, хотя она присутствовала на входе. Любая идея, почему он приходит как пустой? Если я тестирую это с помощью мыла/xml, я могу видеть все входные данные, и он отлично работает.
Просто понял, что вход я давал в стельке был в неправильном формате. Ваш пример помог мне определить его. Благодаря! – btsdotnet