.NET:如何弃用WebMethod?

7
在.NET中,是否有一种标准的方法来指示Web服务方法已被弃用?需要澄清的是,“Web服务方法”是指已经用[WebMethod]属性装饰的方法。通常使用[Obsolete]属性将其标记为已弃用,就像其他任何方法一样。
1个回答

6

是的,在.NET中,通常使用[Obsolete]属性来标记弃用。

编辑:

请注意,这不会正式传播到向消费者公开的WSDL/服务。由于WS是跨技术的标准,因此必须遵守协议。考虑到这一点,您将不幸地需要通过发布说明来实现向消费者传播更改,如此问题所述。虽然不理想,但它确实提供了一个弃用的工具。


你有理由相信这个属性会被加入到Web或服务引用中吗? - Anthony Pegram
1
不会的。WS的理念是设定了一个协议,所有供应商(如MS、Axis2等)都可以支持这个定义好的协议。过时是特定于.NET的,不会传播到WSDL。请参见http://stackoverflow.com/questions/3188744/best-practices-to-deprecate-wcf-services关于弃用WCF服务的最佳实践,这是向您的消费者进行沟通的努力。 - Aaron McIver
1
好的。所以如果Dan想要向用户传达该方法不再受支持,标记为[Obsolete]就可以实现这个目的了吗?(我并不是反对标记它,但考虑到问题的情况下,我觉得答案还不够完整。) - Anthony Pegram
2
@Dan:没有。在WSDL中不存在“弃用(deprecation)”的概念。 - John Saunders

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