【发布时间】:2015-10-20 07:05:09
【问题描述】:
我的 WCF 服务中有以下 DataContract
namespace MyNamespace
{
[DataContract(Namespace = Constants.ContractNamespace)]
public class MyResponse
{
[DataMember]
public string ResponseCode { get; set; }
[DataMember]
public List<MyObject> MyObjects { get; set; }
}
}
然后当我像这样将它用作我的一个 OperationContracts 的返回类型时
[OperationContract]
MyResponse ValidateById(string id);
然后我得到以下响应
{"MyResponse":{"MyObjects":null,"ResponseCode":"ERR001"}}
有没有办法让它只返回属性,所以它会像
{"MyObjects":null,"ResponseCode":"ERR001"}
更新: 我也在使用 transportClientEndpointBehavior
<endpointBehaviors>
<behavior name="EndpointBehavior_IMyService">
<transportClientEndpointBehavior>
<tokenProvider>
<sharedAccessSignature keyName="RootManageSharedAccessKey" key="keyhere" />
</tokenProvider>
</transportClientEndpointBehavior>
</behavior>
</endpointBehaviors>
还有一个 netTcpRelayBinding
<netTcpRelayBinding>
<binding name="NetTcpRelayBinding_IMyService"/>
</netTcpRelayBinding>
【问题讨论】:
-
如果您使用 netTCP 绑定,为什么不使用 SOAP 而不是 JSON?