gpt4 book ai didi

c# - 在 ASMX Web 服务之间共享枚举

转载 作者:太空狗 更新时间:2023-10-29 20:34:55 25 4
gpt4 key购买 nike

我有一个包含多个 Web 服务的 Web 服务项目。其中两个 Web 服务共享一个在 BL 类中定义的枚举,如下所示:

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

这只是一个例子。

当在 Web 项目中引用时,这两种 Web 服务都会生成不同的 EmployeeType 枚举代理,因此我需要显式转换以调用 中的 ProcessPayment 方法银行服务:

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

我知道 .NET 必须这样做才能创建 WSDL,但我不能以某种方式让这两个服务在代理类上引用相同的枚举而不破坏任何东西吗?

最佳答案

您可以使用 wsdl.exe 的 sharetypes 参数。参见 http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx了解详情。

关于c# - 在 ASMX Web 服务之间共享枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7896695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com