私は WCF サービスを構築しています。コントラクトを IService ファイルに記述し、サービス ファイルに実装しました。宣言したメソッドの戻り値を変更しようとすると、問題が発生します。 CustomersService 名前空間のコード、特にロックされていて変更するためにアクセスできない CustomersServiceClient クラスに保存されています。
これは、ICustomersService ファイルにあるコードです。
[ServiceContract]
public interface ICustomersService
{
[OperationContract]
CustomerDetails GetCustomerDetails(string customerid);
[OperationContract]
bool VerifyId(string customerid);
}
CustomersService ファイル内のコード:
public CustomerDetails GetCustomerDetails(string customerid)
{
....
}
public bool VerifyId(string customerid)
{
...
}
CustomerService1 名前空間には、生成されてロックされたこのコードがあるため、IService にあるメソッドを変更しようとすると、ここでロックされて変更できないため、失敗します!
public class CustomersServiceClient : ClientBase<ICustomersService>, ICustomersService
{
public CustomersServiceClient();
public CustomersServiceClient(string endpointConfigurationName);
public CustomersServiceClient(Binding binding, EndpointAddress remoteAddress);
public CustomersServiceClient(string endpointConfigurationName, EndpointAddress remoteAddress);
public CustomersServiceClient(string endpointConfigurationName, string remoteAddress);
public CustomerDetails GetCustomerDetails(string customerid);
public bool VerifyId(string customerid);
}
これは私にとって深刻な問題です。答えが見つかることを願っています。