У меня есть ServiceContract, описывающий метод, используемый в сервисе WCF. Метод сделал, чтобы WebGet приписал, который определяет UriTemplate и ResponseFormat.
Я хочу снова использовать отдельный метод и иметь несколько атрибутов WebGet с другим UriTemplates и другим ResponseFormats. В основном я надеюсь постараться не иметь несколько методов только для дифференциации вещей как тип возврата, являющийся XML по сравнению с JSON. Во всех примерах я видел до сих пор, что я обязан создавать другой метод для каждого атрибута WebGet все же. Вот демонстрационный OperationContract
[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);
}
Используя пример выше я хотел бы использовать метод GetProduct и для xml и для типов возврата json как это:
[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);
}
Существует ли способ достигнуть этого так, я не застреваю, пишущий различные методы только для возврата другого ResponseFormats?
Спасибо!