2
所以我有這樣的情況:A
需要調用B
服務,A
只知道B
地址,只有在運行時。但兩者都提前有相同的服務合同。wcf:動態調用返回複合類型的服務
到目前爲止,我有這個(在A
):
using (ChannelFactory<IService1> scf = new ChannelFactory<IService1>(new BasicHttpBinding(), "B's adress"))
{
var channel = scf.CreateChannel();
channel.GetData(5);
...
}
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
}
[DataContract]
public class CompositeType
{
[DataMember]
public bool BoolValue
...
[DataMember]
public string StringValue
...
}
B
公開相同的服務合同。
現在的問題。與GetData
一切工作正常,但與GetDataUsingDataContract
需要並返回複合類型 - 看起來B
接收對象與默認值,而不是發送。什麼可能是錯的?
是'CompositeType'在組件C中定義所使用A和B兩者?如果不是,它在哪裏定義? – 2012-03-15 13:13:31
@Daniel Hilgarth它在A和B都以相同的方式定義。嗯,我會試試看。 – ren 2012-03-15 13:19:24
@Daniel Hilgarth是的,它的工作!謝謝。 – ren 2012-03-15 14:33:53