У меня есть служба отдыха WCF с двумя OperationContracts следующим образом:
[OperationContract]
[WebGet(UriTemplate = "ping/")]
Message PingServer();
[OperationContract]
[WebGet(UriTemplate = "files/")]
Message AddFile(string accessKey);
Когда я посещаю http://localhost/rest.svc/ping/, он отлично работает, а если я посещаю http://localhost/rest.svc/files/, он отлично работает.
Однако, если я посещаю http://localhost/rest.svc напрямую, выдается следующая ошибка:
System.InvalidOperationException: возникла исключительная ситуация при вызове расширения экспорта WSDL: System.ServiceModel.Description.DataContractSerializerOperationBehavior
contract: http://tempuri.org/:IRest ----> System.InvalidOperationException: не удалось загрузить операцию «AddFile», так как она имеет параметр или тип возврата типа System.ServiceModel.Channels.Message или тип, имеющий MessageContractAttribute и другие параметры разных типов. При использовании System.ServiceModel.Channels.Message или типов с MessageContractAttribute метод не должен использовать какие-либо другие типы параметров.
Я понимаю ошибку, но мне было интересно, как ее исправить / подавить, чтобы она показала страницу конечной точки WCF по умолчанию. Я просто использую WCF только для отдыха.
Спасибо!
Джеффри Кевин Прай