111,126
社区成员
发帖
与我相关
我的任务
分享
//服务的接口
[ServiceContract]
public interface IWcfService
{
//test
[OperationContract]
string GetData();
[OperationContract]
void Ret(out string str, out string str2);
//上面两个函数都能正常调用,但下面需要返回ErrInfo 的自定义对象,就不知道怎么操作了,
[OperationContract]
DataTable GetDataTable(string strSql, out ErrInfo errInfo);
[OperationContract]
ErrInfo GetDataTable();
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[DataContract]
public class ErrInfo
{
private short SignErr;
private string StrErr;
public ErrInfo(short signErr, string strErr)
{
SignErr = signErr;
StrErr = strErr;
}
[DataMember]
public short signErr
{
get
{
return SignErr;
}
set
{
SignErr = value;
}
}
[DataMember]
public string strErr
{
get
{
return StrErr;
}
set
{
StrErr = value;
}
}
//函数的实现我就不贴了,没得问题,下面是客服端的接口
[ServiceContract]
public interface IWcfService
{
//[OperationContract]
//string GetData();
[OperationContract]
string GetDataB();
[OperationContract]
void Ret(out string str,out string str2);
//这里我不知道怎么写返回对象函数的接口
}
private void btnA_Click(object sender, EventArgs e)
{
string str, str2;
server.Ret(out str, out str2);//所以也没办法调用,希望高手指点
MessageBox.Show(str2);
}
[ServiceContract]
public interface IWcfService
{
//[OperationContract]
//string GetData();
[OperationContract]
string GetDataB();
[OperationContract]
void Ret(out string str,out string str2);
//这里我不知道怎么写返回对象函数的接口
}
private void btnA_Click(object sender, EventArgs e)
{
string str, str2;
server.Ret(out str, out str2);
//所以也没办法调用ErrInfo server.GetDataTable();,希望高手指点
MessageBox.Show(str2);
}
IWcfService server;
private void Form1_Load(object sender, EventArgs e)
{
server = ChannelFactory<IWcfService>.CreateChannel
(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:918/WcfService"));
}
[ServiceContract]
public interface IWcfService
{
[OperationContract]
ErrInfo GetErr();
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[DataContract]
public class ErrInfo
{
private short SignErr;
private string StrErr;
public ErrInfo(short signErr, string strErr)
{
SignErr = signErr;
StrErr = strErr;
}
[DataMember]
public short signErr
{
get
{
return SignErr;
}
set
{
SignErr = value;
}
}
[DataMember]
public string strErr
{
get
{
return StrErr;
}
set
{
StrErr = value;
}
}
public ErrInfo GetErr()
{
return new ErrInfo(2, "1111");
}
[ServiceContract]
public interface IWcfService
{
[OperationContract]
ErrInfo GetErr();
}
[DataContract]
public class ErrInfo
{
private short SignErr;
private string StrErr;
[DataMember]
public short signErr
{
get
{
return SignErr;
}
set
{
SignErr = value;
}
}
[DataMember]
public string strErr
{
get
{
return StrErr;
}
set
{
StrErr = value;
}
}
}
private void btnA_Click(object sender, EventArgs e)
{
ErrInfo errInfo= server.GetErr();
MessageBox.Show(errInfo .strErr);
}