向现有的 Web Service 自定义类型添加新字段

4

我有一个名为 GetPieByName 的 Web 服务,它返回一个自定义类型的 Pie:

public Pie GetPieByName(string name)
{
Pie p = new Pie();
p.name = "Apple Pie";
return p;
}

class Pie {    
string name    
get set methods... 
}

Pie p的定义中只有名称。调用者A使用Web服务。

几个月后,Pie p的定义被增强以包括重量和过期日期。这将由调用者B使用。在增强的Web服务部署后,我需要对调用者A做任何事情吗?如果我不刷新服务参考WSDL,它仍然可以正常工作吗?


什么样的服务?ASMX? - John Saunders
是的,它是一个.asmx网络服务。 - hyperkittie
1
ASMX是一项传统技术,不应用于新开发项目。对于所有新的Web服务客户端和服务器开发,应使用WCF或ASP.NET Web API。一个提示:微软已经在MSDN上停止了ASMX论坛。 - John Saunders
更正。该服务是一个 .svc 文件。 - hyperkittie
2个回答

3

即使类型中存在其他属性,Caller A仍然可以像往常一样工作。

但是,在WSDL被刷新之前,Caller A看不到Pie的其他属性。


-2
创建另一个 PIE 方法来处理 CALLER B,然后在 GetPieByName() 上执行 if 语句,检查它是 CALLER A 还是 CALLER B

抱歉,这并没有回答问题。此外,那将是代码的重复。 - hyperkittie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接