Enhanced code generation - Interfaces
We now generate a .NET interface instead of an abstract class with all the (unnecessary and duplicated) ASMX attribute glue. This is extremely helpful if you want to separately host the service interface and the service implementation.
E.g. if you want to host the service implementation under COM+ and expose a service interface for Enterprise Services, one for WSE messaging and one for ASMX. In this case you have to define a shared interface that follows the same contract as the WSDL file.Voilà.
Additionally, we also generate an interface for the consumer-side proxy. You may imagine that this easily enables scenarios where the proxy generation/instantiation can be done by a configurable factory. By doing so, the location and the chosen transport can be hidden. It's then even possible to cache proxies.