When adding a new web reference, one of the options that visual studio gives you is to search for web services on the local machine (The exact option name is “Web services on the local machine”).
My question is, how does Visual Studio find the web services on the local machine? The local website that contains the service doesn’t contain a .disco file.
I tried to use fiddler but got nothing (visual studio didn’t make any requests to the local web server). Does visual studio scan the default website for files with the extension .asmx?
MSDN article here ( http://msdn.microsoft.com/en-us/library/8dcbc50t.aspx) states that “For this link to return information, a Web server, such as Internet Information Services (IIS), must be running on the local computer.”
A poster in another forum ( http://forums.asp.net/t/1224187.aspx) is having trouble with accessing local web services and the error message reads
This makes me think that the local web services are discovered by querying the IIS metabase from the local computer. Most probably, there is some managed COM API that allows one to do this.
EDIT: Regarding your experiment with Fiddler – it does not catch calls made to “localhost” (see http://www.fiddler2.com/fiddler/help/hookup.asp#Q-LocalTraffic), so, even if Visual Studio made such calls, these would not be displayed.