0

我已经使用 LINQ 创建了一个 WCF Web 服务,并试图调用该PatientRegistration函数。但是,当我调用该函数时,添加了一些我不知道它们来自哪里的参数。谁能帮我解决这个问题?

WCF服务中的功能:

public Boolean PatientRegistration(
    String HealthInsuranceNO,
    String FirstName,
    String LastName,
    int PhoneNumber,
    String Address,
    String Email)
{
    DataClasses1DataContext dc = new DataClasses1DataContext();

    if (HealthInsuranceNO != ""
        && FirstName != ""
        && LastName != ""
        && Address != ""
        && PhoneNumber != 0)
    {
        Patient p = new Patient();
        {
            p.HealthInsuranceNO = HealthInsuranceNO;
            p.FirstName = FirstName;
            p.LastName = LastName;
            p.PhoneNumber = PhoneNumber;
            p.Address = Address;
            p.Email = Email;
        };

        dc.Patients.InsertOnSubmit(p);

        dc.SubmitChanges();
        return true;
    }
    else
    {
        return false;
    }
}

并且:

[OperationContract]
Boolean PatientRegistration(
    String HealthInsuranceNO,
    String FirstName,
    String LastName,
    int PhoneNumber,
    String Address,
    String Email);

我得到了系统希望我填写的另外三个参数,它们是

bool PhoneNumberspecified,
out bool PatientmentRegistrationResult,
out bool PatientmentRegistrationResultSpecified
4

1 回答 1

0

看来您正在proxy使用“添加 Web 参考”在客户端上创建。您应该使用“添加服务参考”来生成正确的代理。

不同之处在于他们使用的序列化程序。添加 Web 引用使用XmlSerializer和添加服务引用使用DataContractSerializer. 它XmlSerializer添加了这些参数,一个代表数据本身,一个指定数据是否实际存在。

于 2013-09-29T14:08:59.920 回答