【发布时间】:2010-04-21 09:44:00
【问题描述】:
为什么 ASP.NET Web 方法不允许使用默认参数?
【问题讨论】:
-
在您的问题上下文中定义“默认参数”
标签: asp.net web-services webmethod
为什么 ASP.NET Web 方法不允许使用默认参数?
【问题讨论】:
标签: asp.net web-services webmethod
ASP.NET WebServices 不支持默认参数或方法重载的原因并不是 ASP.NET 或 C# 的缺点。原因是WebServices本身,无论实现的语言还是平台,都不支持默认参数或者方法重载。
WebServices 是最低公分母技术。您无法保证消费者将使用什么技术来使用您的 WebService,相反,如果您正在使用 WebService,您通常不知道它是用什么平台或语言实现的。因此,我们必须使用我们确信任何平台都可以使用的功能集。
【讨论】:
不幸的是,即使在 .NET 4 中 C# 终于获得了在方法中具有可选参数的能力,WebMethods 仍然不支持它们。此外,重载方法也不起作用。这意味着您将拥有多个名称不同的方法,或者具有所有参数的相同方法,并且可选参数可以为空。
我也很失望:(
【讨论】: