저는 WCF를 처음 사용하며 MVP 디자인 패턴을 배우고 있습니다. WCF 서비스가 작동하는 테스트 프로젝트가 있습니다. 나는 WCF 테스트 클라이언트로 테스트 할 수 있으며 정상적으로 작동한다.WCF - 발표자 레이어에서 WCF 서비스 호출
내 Presenter 레이어에서 WCF 서비스를 호출 한 다음 발표자가 데이터를보기 (winforms)로 다시 전달하는 방법에 대한 도움이 필요합니다. txtProductID 및 txtDescription이라는 두 개의 텍스트 상자가있는 Windows Form이 있습니다. 또한 btnGetProductData라는 버튼이 있습니다. 다음 사항이 발생합니다.
- txtProductID 필드에 제품 ID를 입력하겠습니다.
- btnGetProductData 단추를 클릭하면 발표자가 WCF 서비스에서 GetProductData 메서드를 호출하고 제품 설명을 양식의 txtProductDescription 필드로 반환해야합니다.
다음은 WCF 서비스 라이브러리에서 관련 코드 :
IProductService.cs
------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace MyWCFServices.ProductService
{
[ServiceContract]
public interface IProductService
{
[OperationContract]
Product GetProductData(string ProductId);
}
[DataContract]
public class Product
{
[DataMember]
public string ProductID { get; set; }
[DataMember]
public string ProductDescription { get; set; }
}
}
ProductService.cs
--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using MyWCFServices.ProductEntities;
using MyWCFServices.ProductBusinessLogic;
namespace MyWCFServices.ProductService
{
public class ProductService : IProductService
{
ProductLogic productLogic = new ProductLogic();
public Product GetProductData(string ProductId)
{
ProductEntity productEntity = productLogic.
GetProductData(ProductId);
Product product = new Product();
TranslateProductEntityToProductContractData(productEntity,
product);
return product;
}
private Product TranslateProductEntityToProductContractData(
ProductEntity productEntity, Product product)
{
product.ProductID = productEntity.ProductID;
product.ProductDescription = productEntity.ProductDescription;
return product;
}
}
}
서비스가 잘 보이는,하지만 문제는 특히, 클라이언트가 있습니까? 예 : 프록시를 만드는 데 문제가 있습니까? 예상 한 것을 반환하지 않습니까? –