Ich habe einen ServiceContract, der eine in einem WCF-Dienst verwendete Methode beschreibt. Die Methode verfügt über ein WebGet-Attribut, das eine UriTemplate und ResponseFormat definiert.Kann das WebGet-Attribut einer WCF OperationContract-Methode mehrere ResponseFormat-Typen aufweisen?
Ich möchte eine einzelne Methode verwenden und mehrere WebGet-Attribute mit verschiedenen UriTemplates und verschiedenen ResponseFormats haben. Im Grunde hoffe ich zu vermeiden, mehrere Methoden zu haben, nur um Dinge wie Rückgabetyp XML gegenüber JSON zu unterscheiden. In allen Beispielen, die ich bisher gesehen habe, muss ich für jedes WebGet-Attribut eine andere Methode erstellen. Hier ist ein Beispiel Operation
[ServiceContract]
public interface ICatalogService
{
[OperationContract]
[WebGet(UriTemplate = "product/{id}/details?format=xml", ResponseFormat = WebMessageFormat.Xml)]
Product GetProduct(string id);
[OperationContract]
[WebGet(UriTemplate = "product/{id}/details?format=json", ResponseFormat = WebMessageFormat.Json)]
Product GetJsonProduct(string id);
}
Im oben genannten Beispiel I für die getProduct Methode verwenden möchte sowohl die XML und JSON-Rückgabetypen wie folgt aus:
[ServiceContract]
public interface ICatalogService
{
[OperationContract]
[WebGet(UriTemplate = "product/{id}/details?format=xml", ResponseFormat = WebMessageFormat.Xml)]
[WebGet(UriTemplate = "product/{id}/details?format=json", ResponseFormat = WebMessageFormat.Json)]
Product GetProduct(string id);
}
Gibt es eine Möglichkeit, dies so zu erreichen, Ich bin nicht fest daran, verschiedene Methoden zu schreiben, nur um verschiedene ResponseFormats zurückzugeben?
Danke!