我正在使用HttpClient库来创建 WCF Web API。
服务合同摘录:
[ServiceContract]
public interface IMyService
{
[WebGet(UriTemplate = "Foo/{id}/{securityKey}/{filename}")]
HttpResponseMessage Foo(int id, string securityKey);
}
当我在浏览器中点击 .svc 时,我得到了这个:
System.InvalidOperationException:在调用 WSDL 导出扩展时引发异常:System.ServiceModel.Description.DataContractSerializerOperationBehavior 合同:http ://tempuri.org/:IMyService ----> System.Runtime.Serialization.InvalidDataContractException:类型'System.Net.Http.HttpMethod' 无法序列化。考虑使用 DataContractAttribute 属性对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。如果该类型是一个集合,请考虑使用 CollectionDataContractAttribute 对其进行标记。有关其他支持的类型,请参阅 Microsoft .NET Framework 文档。
这对任何人都有意义吗?相同的代码在不同的项目中工作,在这种情况下所有的库都是相同的,我必须有一些细微的差别。