Tengo un proyecto de servicio web con varios servicios web. Dos de estos servicios web comparten una enumeración que se define en una clase BL, así:Compartir una enumeración entre los servicios web de 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;
}
}
Esto es sólo un ejemplo.
Ambos servicios web, cuando se hace referencia en un proyecto web, generar un EmployeeType
diferentes proxies de enumeración, por lo que necesito para convertir explícitamente para invocar el método ProcessPayment
en 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);
}
entiendo .NET tiene que hacer esto para crear el WSDL, pero ¿no puedo de alguna manera hacer que ambos servicios se refieran a la misma enumeración en las clases proxy sin romper nada?
¿Estás usando WCF o ASP.NET? –
Estoy usando ASP.NET. – Meryovi