Ich versuche, ein anonymes Objekt über einen Webdienst zu senden. Kann ich das trotzdem tun, ohne manuell eine Klasse zu erstellen und sie in diese Klasse zu übertragen? Gegenwärtig kann eine Ausnahme, die das Anonyme Objekt angibt, nicht serialisiert werden.Wie serialisiere ich ein anonymes Objekt zum Senden über einen SOAP-Webdienst?
// 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;
}
Vielen Dank im Voraus.
Edit: Hier ist ein Beispiel dafür, was ich meine, durch manuelles Erstellen einer Klasse mit dem anonymen Objekt zurück und füllen ...
public 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;
}
Einfach nur neugierig, warum bevorzugen Sie automatisch Eigenschaften über den öffentlichen Bereichen umgesetzt? – Kevin
Siehe http://csharpindepth.com/Articles/Chapter8/PropertiesMatter.aspx –
Wenn Sie eine serialisierte Nachricht wie JSON zurückgeben, würde das nicht bedeuten, dass Sie mit der Vorstellung einverstanden sind, dass es lose gekoppelt ist? das scheint immer noch ein gültiger Anwendungsfall zu sein. – pc1oad1etter