我正在我的项目中使用 WCF 服务,我已使用“添加服务引用...”为其添加了引用。我希望它生成一个带有 ServiceClient 实体和接口的干净代理。相反,我看到它为每个 OperationContract 方法创建了 MethodNameRequest、MethodNameRequestBody、MethodNameResponse、MethodNameResponseBody 实体。
因此,在调用服务方法时,代理将 MethodNameRequest 实例传递给服务方法,该方法的输入参数作为 RequestBody 的属性。请参阅下面的调用 AboutInformationGet() 方法的示例,该方法不接受任何参数。
public WCFDynamicInvocation.PostingService.AboutModel AboutInformationGet() {
WCFDynamicInvocation.PostingService.AboutInformationGetRequest inValue = new WCFDynamicInvocation.PostingService.AboutInformationGetRequest();
inValue.Body = new WCFDynamicInvocation.PostingService.AboutInformationGetRequestBody();
WCFDynamicInvocation.PostingService.AboutInformationGetResponse retVal = ((WCFDynamicInvocation.PostingService.IMIGQPosting)(this)).AboutInformationGet(inValue);
return retVal.Body.AboutInformationGetResult;
}
我相信这种行为是人们期望在 Web 服务代理中看到的。因此我怀疑 WCF 服务没有正确配置。
这里有人遇到过这个问题吗?为了使生成的代理类似于 WCF 服务,该服务需要进行哪些更改。
干杯。