WCF 客户端没有返回服务器返回值
我在用jillzhang WCF例子 改动了一下服务类,返回一个Mydata结构,可是为什么客户端收到不返回值呢? 详如下:项目名称 说明
Wcf.Contracts 契约项目,用于定义服务契约,数据契约,错误契约,消息契约等
Wcf.ServiceLib 服务实现项目
Wcf.Host 一个Console的服务的宿主
Wcf.WebServiceHost 一个IIS宿主
Wcf.Proxys 服务代理项目
Wcf.Client 客户端项目
URL:http://www.cnblogs.com/jillzhang/archive/2008/04/13/1151342.html
原Wcf.ServiceLib 类为:
namespace Wcf.ServiceLib
{
public class Service:Contracts.IService
{
public MyData GetData(int filed)
{
Console.WriteLine("服务执行!");
return new Mydata();
}
}
}
我改为:
public MyData GetData(int filed)
{
Console.WriteLine("服务执行!");
MyData xxx = new MyData();
xxx.Data1 = 8888;
Console.WriteLine(xxx.Data1.ToString() );
return xxx; ///<---------------------xxx的值返回不到客户端
}
客户端为:
NetTcpBinding bind = new NetTcpBinding();
EndpointAddress address = new EndpointAddress("net.tcp://127.0.0.1:6547/Service");
Proxys.IService ws = new Proxys.ServiceClient(bind, address);
Wcf.Proxys.MyData myData = ws.GetData(10);
Console.WriteLine(myData.Data1.ToString()); <---------这里显示一直是0
Console.Read();
--------------------编程问答-------------------- xxx.Data1 = 8888; 是字段还是属性,是否赋值成功?
Wcf.Proxys.MyData 能否正确序列化? --------------------编程问答-------------------- Namespace Wcf.Contracts /// MYdata 代码
<DataContract()> _
Public Class MyData
Private _filed1 As Integer
<DataMember()> _
Public Property Data1() As Integer
Get
Return _filed1
End Get
Set(ByVal value As Integer)
_filed1 = value
End Set
End Property
End Class
End Namespace --------------------编程问答-------------------- 前面发错了...这份是c#的
namespace Wcf.Contracts
{
[ServiceContract]
public inte易做图ce IService
{
[OperationContract]
void DoWork();
[OperationContract]
MyData GetData(int field);
}
}
namespace Wcf.Contracts
{
[DataContract]
public class MyData
{
private int _filed1;
[DataMember]
public int Data1
{
get
{
return _filed1;
}
set
{
_filed1 = value;
}
}
}
} --------------------编程问答-------------------- 在 _filed1 上放置<DataMember()> 试试 --------------------编程问答-------------------- WCF传输实质还是XML,所以是需要序列化的,你可以返回标准的类,在客户端重新组织成自定义类.
如:可以把自定义类的各个属性作为string返回.
或者建议你加上[Serializable]试试看。 --------------------编程问答-------------------- 没用... --------------------编程问答-------------------- 好了..搞定了...代理没更新
真破...代理应该也没什么改动呀. --------------------编程问答-------------------- 恭喜搂住
补充:.NET技术 , C#