次のように、2 つの OperationContracts を持つ WCF レスト サービスがあります。
[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 コントラクト: http://tempuri.org/:IRest ----> System.InvalidOperationException: 操作 'AddFile' System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または MessageContractAttribute と異なる型の他のパラメーターを持つ型があるため、ロードできませんでした。System.ServiceModel.Channels.Message または MessageContractAttribute を持つ型を使用する場合、メソッドは他の型のパラメーターを使用してはなりません。
エラーは理解できましたが、デフォルトの WCF エンドポイント ページが表示されるように修正/抑制する方法を考えていました。RESTのみにWCFを使用しています。
ありがとう!
ジェフリー・ケビン・プライ