2011-10-25 10 views
7

Mam projekt usługi internetowej z kilkoma usługami internetowymi. Dwa z tych usług internetowych dzielić enum, który jest zdefiniowany w klasie BL, tak:Udostępnij wyliczenie między usługami sieciowymi ASMX

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; 
    } 
} 

To tylko przykład.

zarówno usług internetowych, gdy odwołuje się do projektu strony internetowej, wygenerowanie innego EmployeeType enum proxy, więc muszę rzucić jawnie wywołać metody ProcessPayment w BankService:

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); 
} 

Rozumiem .NET musi zrób to, aby utworzyć WSDL, ale czy nie mogę w jakiś sposób sprawić, aby obie usługi odwoływały się do tego samego wyliczenia na klasach proxy bez naruszania czegokolwiek?

+0

Czy używasz WCF lub ASP.NET? –

+0

Używam ASP.NET. – Meryovi

Odpowiedz

0

Jeśli wystawiać samego wyliczenia, pełnomocnicy będą działać prawidłowo:

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

Wystawiam to samo wyliczenie, zdefiniowane we wspólnej bibliotece. – Meryovi

Powiązane problemy