С учетом контракта, такого как:
[ServiceContract] public interface IService
{
[OperationContract]
[WebGet(UriTemplate = "GetData/{id}.{format}")]
ResponseData GetData(string id, string format);
}
Есть ли способ заставить службу отвечать с помощью json при запросе как:
/GetData/1234.json, xml при запросе как /GetData/1234.xml и по-прежнему быть доступным как правильный сервис мыла по какому-либо другому URL-адресу со строго типизированным контрактом wsdl?
Использование Stream в качестве возвращаемого значения для GetData невозможно, так как если бы он удовлетворял первым двум требованиям, wcf не может создать полную спецификацию wsdl, так как он не знает, каким будет содержимое результирующего потока.