日期:2014-05-18 浏览次数:21139 次
//服务的接口
[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);
}