First, as John already said, use WCF if possible.
You are correct, however, /server and /serverinterface are used to generate code for server components when you have an existing WSDL document for a web service.
Although for many ASP.Net developers, the first implementation of a web service is used to create WSDL, maybe you have an existing WSDL document for a web service that you need to implement in ASP.Net, for example, an outdated web service that migrates to the new platform . In this case, these two switches are used to create a web service that is compatible with the existing WSDL so that clients can use the ASP.Net web service without having to reuse the WSDL (which often requires changing the code in this client).
I myself used this function before creating the stub web services for testing purposes, when I have the WSDL for the web service, however it is not possible to verify the actual implementation of the web service.
source share