Estoy tratando de enviar un objeto anónimo a través de un servicio web. ¿Hay alguna forma en que pueda hacer esto sin crear manualmente una clase y enviarla a esa clase? Actualmente lanza una excepción que dice que el objeto anónimo no se pudo serializar.¿Cómo serializo un objeto anónimo para enviarlo a través de un servicio web SOAP?
// Some code has been removed here to simplify the example.
[WebMethod(EnableSession = true)]
public Response GetPatientList() {
var patientList = from patient in ((User)Session["user"]).Practice.Patients
select new {
patientID = patient.PatientID,
status = patient.Active ? "Active" : "Inactive",
patientIdentifier = patient.PatientIdentifier,
physician = (patient.Physician.FirstName + " " + patient.Physician.LastName).Trim(),
lastModified = patient.Visits.Max(v => v.VisitDate)
};
return patientList;
}
Gracias de antemano.
Editar: Este es un ejemplo de lo que quiero decir con la creación manual de una clase para volver y llenarlo con el objeto anónimo ...
tipopublic class Result {
public bool success;
public bool loggedIn;
public string message;
}
public class PracticeInfoResult : Result {
public string practiceName;
public string address;
public string city;
public string state;
public string zipCode;
public string phone;
public string fax;
}
Sólo por curiosidad, ¿por qué prefiere implementar automáticamente las propiedades sobre los campos públicos? Ver – Kevin
http://csharpindepth.com/Articles/Chapter8/PropertiesMatter.aspx –
Si devuelve un mensaje serializado como JSON, no sería eso significa que estás de acuerdo con la idea de que se acopla libremente? esto todavía parece un caso de uso válido. – pc1oad1etter