我工作上的一个项目,我有2个网服务,需要相同的实体。2网络服务是在同一服务器上等后端,它们共用相同的课程。

在前端边,我的代码消耗 网络服务,并认为该实体从两个服务作为独立的(在不同的名字空间),所以我不能用实体在两个服务。

任何人都不会知道的一种方法,让这个工作。网2.0?

我这样做与我的实体:

[XmlType(TypeName = "Class1", Namespace = "myNamespace")]
public class Class1
{
    public int field;
}

希望我IDE会以某种方式"知道"这一类是同在这两个网服务,以便它不会创造独立的实体对于这两类,但未成功。

这是可以做到的。网2.0网服务?

有帮助吗?

解决方案

我认为你不能做到这一点从内部VS但你可以用手使用的 wsdl.exe 用这样的:

wsdl.exe /sharetypes http://localhost/MyService1.asmx?wsdl http://localhost/MyService2.asmx?wsdl

注意到 /sharetypes 选择转型分享的特征。这种功能可以创建一个码文件有一个单一类型的定义完全相同的类型之间共享服务不同(空间、名称和线签名必须是相同)。

更多信息:

其他提示

我不确定.NET 2.0的实现细节,但我相信你想要做的是将公共类放在一个单独的XSD文件中,并从你的两个WSDL中引用它。这样,公共类型在两个服务之间具有相同的命名空间。

现在,您如何在.NET 2.0中执行此操作我无法向您提供有关...的详细信息。

您可以检查实体的命名空间吗?确保它们在两个Web服务中都相同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top