这很奇怪,我只是想知道是否有人可以向我解释这一点。我有一个由传统的旧asmx风格的Web服务运行的Web服务。我们有这是在没有被显示给消费者这样的内部方法使用的公共财产:由IIS提供的WSDL中缺少的公共属性6
public class User {
public string EmployeeID;
protected override void DoSomething(){
var foo = EmployeeId;
}
}
现在这里是怪异的一部分。我们决定摆脱这个领域。但是由于Apache Axis客户端绑定到特定的wsdl,我们不想从wsdl中删除它。因此,我们离开了财产,但在内部方法中删除了它的用法。当我们这样做时,该属性突然从WSDL中丢失......但只在运行IIS6的服务器上。运行IIS 5.1的开发人员仍然可以获得该属性。
我们最终把一个平凡的使用回到方法(获得并将其设置为空字符串)。突然它IIS6服务器上再次出现了。
怎么了?
可能的话,在我的情况大家是公开的,然而,类写很久很久以前在.NET 1.something,因此没有足够的{获得;设置;}声明。我认为这可能与你的问题有关。如果是,你可能会得到赏金呢! – ryber 2010-02-16 16:56:48