C# wcf 传递数组参数,遇到 System.ServiceModel.FaultException



我注意到,如果我在带有数组参数的 Web 服务上发送数组,我会遇到未处理的错误异常,但是当我发送纯字符串时,我可以在带有字符串参数的网络服务上发送数据。我搜索并按照线程传递数组,但它不起作用。我错过了什么吗?

单击以打开图像

client side:
LocalService.Service1Client a = new LocalService.Service1Client();
        LocalService.PersonalDetail[] Entity = new LocalService.PersonalDetail[1];
        LocalService.PersonalDetail Entity2 = null;
        Entity2 = new LocalService.PersonalDetail();
        Entity2.Firstname = "TEST";
        Entity2.Lastname = "TEST";
        Entity2.Middlename = "TEST";
        Entity2.CreatedDate = DateTime.Today;
        Entity[0] = Entity2;
        a.Open();
        Console.Write(a.GetLookOutList(Entity));
        a.Close();


wcf server side.
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetLookOutList(PersonalDetail[] obj);
}
public class Service1 : IService1
{
public string GetLookOutList(PersonalDetail[] obj)
    {
        IResponse Lol = new LookOutList(obj);
        return Lol.Response();
    }
}
    [DataContract(Name = "PersonalDetail")]
public class PersonalDetail
{
    [DataMember(Name = "Firstname")]
    public string Firstname
    { get; set; }
    [DataMember(Name = "Middlename")]
    public string Middlename
    { get; set; }
    [DataMember(Name = "Lastname")]
    public string Lastname
    { get; set; }

    [DataMember(Name = "CreatedDate")]
    public DateTime CreatedDate
    { get; set; }
    }
public string GetLookOutList(PersonalDetail[] obj)
{
    IResponse Lol = new LookOutList(obj);
    return Lol.Response();
}

其中一个内线是抛出一个例外。

要进行验证,请尝试以下操作:

public string GetLookOutList(PersonalDetail[] obj)
{
    return "TEST";
}

这将起作用。

现在,您需要调试代码。将断点设置为第一行IResponse Lol = new LookOutList(obj);并开始调试过程。您可以在此处找到有关特定异常的帮助。

相关内容

最新更新