Ich habe einen WCF-Dienst mit einer Methode, die von mehreren Web-API-Controllern wie im folgenden Code aufgerufen wird.Wie jeder Objekttyp als Eingabeparameter mit nur 1 Methode übergeben werden kann
public string Print(PdfPrinterRequest _request)
{
PdfPrinterService.PdfPrinterClient _Client = new PdfPrinterService.PdfPrinterClient();
PdfPrinterResponse _response = new PdfPrinterResponse();
return _Client.Print(_request.Document, out _pdfResponse);
}
PdfPrinterRequest (Document-Klasse) ist die Einheit, die ich das Bestehen der Antwortnachricht von WCF service.Currently die Dokumentenklasse hält einige Eigenschaften (Anforderungs-Header) zu erhalten. Ich möchte dieselbe Druckmethode von einer anderen API aufrufen und den Typ "Kunde" an den WCF-Dienst übergeben. Wie kann ich das erreichen? Kann mir bitte jemand die richtige Umsetzung vorschlagen?
Unten ist mein WCF-Service-Code,
public class PdfPrinterService : IPdfPrinter
{
public PdfPrinterResponse Print(PdfPrinterRequest request)
{
return PdfPrinterFacade.PrintPdf(request);
}
}
public static PdfPrinterResponse PrintPdf(PdfPrinterRequest request)
{
PdfPrinterResponse response = new PdfPrinterResponse();
//Process the request and send back the response message
}
[MessageContract]
public class PdfPrinterRequest
{
private Document _document;
[MessageBodyMember]
public Document Document
{
get { return _document; }
set { _document = value; }
}
}
Wie ein dynamisches Klasse-Objekt als Parameter anstelle von PdfPrinterRequest passieren, die nicht gebunden ist, nur eine Art (Dokument)? Bitte vorschlagen.
Danke,
Try Methode Überlastungen zu verwenden, wenn dies möglich ist. – ViRuSTriNiTy
Haben Sie eine gemeinsame Methode in allen Objekten wie 'GetRepsonse()', oder können Sie sie zumindest so ändern, dass sie eine solche Methode haben? – user3185569
@ViRuSTRiNiTy, ich kann Überladungen haben, aber weiß nicht, wie viele Methoden ich am Ende habe, lieber hätte ich gerne eine Methode, um jede Art von Klassenobjekt zu akzeptieren. Danke –