私のソリューションでは、メッセージコントラクトクラスをパラメーターとして受け取るWCFサービスを作成しています。
[ServiceContract]
public interface IServiceClass
{
[OperationContract]
Employee AddEmployee(Employee employee);
}
public class ServiceClass : IServiceClass
{
public Employee AddEmployee(Employee employee)
{
//do something
}
}
[MessageContract]
public class Employee
{
[MessageHeader]
public string EmployeeNumber { get; set; }
[MessageBodyMember]
public string FirstName { get; set; }
[MessageBodyMember]
public string LastName { get; set; }
[MessageBodyMember]
public DateTime DOB { get; set; }
}
次に、[サービス参照の追加]オプションを使用して、このサービスをクライアントアプリケーションに追加します。サービスが正常に追加されました。次に、クライアントプログラムでこの方法を使用しました。ただし、メソッドのシグネチャは変更されています。次のように変更しました。
public void AddEmployee(ref string EmployeeNumber,
ref System.DateTime DOB, ref string FirstName, ref string LastName)
私は次のようにクライアントでサービスを使用しています。
TcpServiceReference.ServiceClassClient service =
new TcpServiceReference.ServiceClassClient();
注:TcpServiceReferenceはサービス名です
理由がわかりません。