Tar*_*rik 15 c# asp.net web-services asmx
我只是想知道为什么我不能在Web服务中使用静态Web方法?为什么限制?
有些人可以给我简明扼要的解释.
Joh*_*ers 23
答案是:因为你做不到.
它不是那样设计的.设计是将创建Web服务类的实例,然后将调用实例方法.
我只能猜到为什么微软会这样设计它.要确定,你必须问他们.考虑:
[WebService]类并不是一个恰好用作Web服务的任意类.它旨在成为您为了公开Web服务操作而创建的类.因此,不需要支持已经存在且已经具有静态方法的类.SoapHeader类派生的类型的实例字段.该字段将填充传入的SOAP标头和/或将包含要返回的SOAP标头.您无法使用静态字段执行此操作,因为它会被每个请求覆盖.正如我所说,这些都是猜测.这个问题的正确答案是,"你不能,因为这就是微软设计它的方式.如果你想知道他们为什么这样设计,你需要问他们".
FWIW,我刚检查过,并且看起来WCF也不允许静态方法进行操作.