2011-10-25 16 views
7

Çeşitli web hizmetleriyle bir web hizmeti projem var.ASMX Web Hizmetleri arasında bir numara paylaşın

public class HumanResourcesService 
{ 
    public SomeLibrary.Employee GetEmployee(int employeeCode) 
    { 
     var employee = new SomeLibrary.Employee(); 
     employee.Type= SomeLibrary.EmployeeType.SomeType; 
     return employee ; 
    } 
} 

public class BankService 
{ 
    public bool ProcessPayment(int employeeCode, EmployeeType employeeType) 
    { 
     bool processed = false; 
     // Boring code 
     return processed; 
    } 
} 

Bu sadece bir örnek: Bu web hizmetlerinin İki şöyle bir BL sınıfında tanımlanmış bir enum paylaşır.

Hem web hizmetleri, web projesinde başvurulan zaman, farklı bir EmployeeType enum vekiller oluşturmak, bu yüzden BankService içinde ProcessPayment yöntemi çağırmak için açıkça döküm gerekir:

public void SomeMethod(int employeeCode) 
{ 
    var hrService = new HumanResourcesService(); 
    var employee = hrService.GetEmployee(employeeCode); 

    var bankService = new BankService(); 
    bankService.ProcessPayment(employee.Code, (MyProject.BankService.EmployeeType) employee.Type); 
} 

Ben .NET geleceğini anladın WSDL'yi oluşturmak için bunu yapın, ancak bir şekilde her iki hizmetin de proxy sınıflarındaki herhangi bir şeyi kırmadan aynı enum ile ilgili olduğunu söyleyemem? Aynı enum maruz Eğer

+0

WCF veya ASP.NET kullanıyor musunuz? –

+0

ASP.NET kullanıyorum. – Meryovi

cevap

0

, vekiller iyi çalışır:

public class BankService 
{ 
    public bool ProcessPayment(int employeeCode, MyProject.BankService.EmployeeType employeeType) 
    { 
     bool processed = false; 
     // Boring code 
     return processed; 
    } 
} 

public void SomeMethod(int employeeCode) 
{ 
    var hrService = new HumanResourcesService(); 
    var employee = hrService.GetEmployee(employeeCode); 

    var bankService = new BankService(); 
    bankService.ProcessPayment(employee.Code, employee.Type); 
} 
+0

Ortak bir kitaplıkta tanımlanan aynı enum'u gösteriyorum. – Meryovi

İlgili konular