Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 第三方DLL的WCF错误_C#_Wcf - Fatal编程技术网

C# 第三方DLL的WCF错误

C# 第三方DLL的WCF错误,c#,wcf,C#,Wcf,我是新来的WCF,面临一些问题。我有三个项目WCFClient,WCFService,CommonModel CommonModel:-拥有以下课程 公共教室:InotifyProperty已更改 { 国际室友; 公共虚拟int roomID_PK{get;set;} 公共房间() { Row1Details=新房间RowDetails(); Row2Details=新房间RowDetails(); } } [可序列化] 公共类RoomRowDetails:ISerializable,INo

我是新来的
WCF
,面临一些问题。我有三个项目
WCFClient
WCFService
CommonModel

  • CommonModel
    :-拥有以下课程
    
    公共教室:InotifyProperty已更改
    {
    国际室友;
    公共虚拟int roomID_PK{get;set;}
    公共房间()
    {
    Row1Details=新房间RowDetails();
    Row2Details=新房间RowDetails();
    } 
    }

    [可序列化] 公共类RoomRowDetails:ISerializable,INotifyPropertyChanged { 公共房间详细信息() { RoomColor=“白色”; RowSaleAmount=“”; } .... }

  • WCFClient
    :正在使用客户端代理类
  • WCFService
    :拥有
    服务合同
    运营合同
    数据合同
    ,并拥有以下类别:-

    [DataContract()]
    [ServiceKnownType(typeof(Room))]
    [ServiceKnownType(typeof(RoomRowDetails))]
    public class RequestData
        {
    
        [DataMember]
        public string ClientName { get; set; }
    
        [DataMember]
        public bool isServer { get; set; }
    
        [DataMember]
        public bool isSuccess { get; set; }
    
        [DataMember]
        public Room room { get; set; }
    
        [DataMember]
        public RoomRowDetails roomrow{ get; set; }
        }
    
  • 在这两个项目中,都添加了项目
    CommandModel
    project作为参考。正确生成客户端代理,但在运行项目时。我得到以下错误:-

    尝试序列化参数时出错http://tempuri.org/:eventData. InnerException消息为“Type”CommonModel.MODELS.Room“with data contract name”Room:http://schemas.datacontract.org/2004/07/CommonModel.MODELS”他说。考虑使用DATACONTRORTCORDEVER或将未知类型的任何类型添加到已知类型的列表中——例如,通过使用NoNyType属性,或者将它们添加到传递给DATACONTROTTRORALIZER的已知类型列表中。有关更多详细信息,请参阅InnerException。

    您能帮助我如何使用
    WCF
    服务和客户端中的
    CommonModel
    类(因此房间是项目双方共享的POCO)并避免上述错误吗


    谢谢

    我没有看到
    RoomRowDetails
    RoomRowDetails
    RequestData
    的派生类型。那你为什么要用
    ServiceKnownType
    属性标记它们呢?在
    RequestData
    Room
    之间没有关系,我只是试着用
    ServiceKnownType
    运行代码。但它没有起作用。