当前位置: 代码迷 >> Web Service >> WCF自定义参数传递丢掉
  详细解决方案

WCF自定义参数传递丢掉

热度:187   发布时间:2016-05-02 02:19:18.0
WCF自定义参数传递丢失
问题的关键是:传递给WCF的自定义类型参数,已加特性描述,不知道何故丢失,基本类型的参数倒是不会丢失。
源码如下:
#Service
[ServiceContract(@namespace = "AffairsService")]
public interface IDbService
{
    [OperationContract()]    string GetDbPath(string id);
    [OperationContract()]    bool SuperLogin(IdInfo user);
}
public class DbService : IDbService
{
    public string iGetPath(string id)
    {
        return string.Format("服务端Pathis: {0}客户端Pathis: {1}", My.Application.Info.DirectoryPath, id);
        //调用/返回结果正确……’
    }
    string IDbService.GetDbPath(string id)
    {
        return iGetPath(id);
    }
    public bool iSuperLogin(IdInfo user)
    {
        //调试到这里,发现user已经丢失……
        //…………
        return Super.SuperLogin(user);
    }
    bool IDbService.SuperLogin(IdInfo user)
    {
        return iSuperLogin(user);
    }
}

#Client
//IdInfo user
//这里 user内容还在
//开始Invoke……
AClient.SuperLogin(user)

#library
[Serializable()][DataContract()]public class IdInfo
{
[Serializable()][DataContract()]public class IdInfo
{
[DataMember()]    public string id;
[DataMember()]    public string name;
    //……其他;
}
------解决方案--------------------
你需要把自定义类型写进库类并编译成dll,然后在wcf的服务端和客户端分别引用这个dll里类
------解决方案--------------------
没用过,类定义有问题?
 public string id{get;set;}
  相关解决方案