Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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# 使用web服务时未保存一个属性_C#_Asp.net Mvc_Wcf_Entity Framework - Fatal编程技术网

C# 使用web服务时未保存一个属性

C# 使用web服务时未保存一个属性,c#,asp.net-mvc,wcf,entity-framework,C#,Asp.net Mvc,Wcf,Entity Framework,我有一个目标: public class Announcement { public int Id { get; set; } public DateTime DateSent { get; set; } private IList<string> _recipients; public IList<string> Recipients { get { ret

我有一个目标:

public class Announcement
    {
        public int Id { get; set; }
        public DateTime  DateSent { get; set; }
        private IList<string> _recipients;
        public IList<string> Recipients
        {
            get { return _recipients; }
            set { _recipients = value; }
        }

        public string RecipientsString 
        {
            get { return String.Join("\n", _recipients); }
            set { _recipients = value.Split('\n').ToList(); }
        }
    }
公开课公告
{
公共int Id{get;set;}
public DateTime DateSent{get;set;}
私人IList_接受者;
公共IList接收者
{
获取{return\u recipients;}
设置{u recipients=value;}
}
公共字符串接收方字符串
{
获取{return String.Join(“\n”,_recipients);}
设置{u recipients=value.Split('\n').ToList();}
}
}
我可以使用DateSent和RecipientString(电子邮件地址字符串,以\n分隔)填充此对象,并将其保存到数据库中,不会出现任何问题

现在我想把它转移到一个web服务,这样我们就可以跨多个应用程序使用它

我在webservice中创建了完全相同的对象,并在本地(在服务上)测试了一切,一切正常

但是如果我在客户机上填充对象并将其传递给要保存的服务,RecipientString总是空的(不是null)。发送的日期很好


我猜数据在序列化中丢失了,但我不知道为什么,或者如何解决这个问题。我还认为,这可能与电子邮件地址中的@有关,但我排除了这种可能性。有什么建议吗?

之所以会出现这种情况,是因为生成用于描述服务的de WSDL无法描述get和set函数中使用的函数。我建议您将RecipientsString作为一个公共属性,并在类上创建一个私有方法GetRecipientsString,该方法处理RecipientsString值并返回所需的列表。

发生这种情况的原因是,为描述服务而生成的de WSDL无法描述get和set函数中使用的函数。我建议您将RecipientsString作为一个公共属性,并在类上创建一个私有方法GetRecipientsString,该方法处理RecipientsString值并返回所需列表。

使用RecipientsString而不使用支持字段。

使用RecipientsString而不使用支持字段