Próbuję wysłać anonimowy obiekt za pośrednictwem usługi sieciowej. Czy mimo to mogę to zrobić bez ręcznego tworzenia klasy i przesyłania jej do tej klasy? Obecnie nie można serializować wyrzucania wyjątku mówiącego o obiekcie Anonymous.Jak serializować anonimowy obiekt do wysyłania przez usługę sieciową 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;
}
Z góry dziękuję.
Edit: Oto przykład tego, co mam na myśli ręcznie tworząc klasę wrócić i wypełnić go z anonimowego obiektu ...
typpublic 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;
}
Po prostu ciekawi, dlaczego wolisz automatycznie wdrażane właściwości nad polami publicznych? – Kevin
Zobacz http://csharpindepth.com/Articles/Chapter8/PropertiesMatter.aspx –
Jeśli zwracasz serializowaną wiadomość, taką jak json, czy nie oznacza to, że zgadzasz się ze stwierdzeniem, że jest luźno powiązana? to nadal wydaje się być ważnym przypadkiem użycia. – pc1oad1etter