The answers were provided here: http://forums.asp.net/p/1762729/4808974.aspx/1?p=True&t=634636052163539362
1.When you add web reference (.asmx) to your project, then it will generate three different type extensive files, they are reference.cs, .disco and .wsdl. and the web service name and value (something like the following) will be added in the project config file, The Reference.cs is the actually generated proxy class which is mainly used to call web service on client side.
For example:
<applicationSettings>
<WebApplication3.Properties.Settings>
<setting name="WebApplication3_localhost_WebService2" serializeAs="String">
<value>http://localhost:8776/WebService2.asmx</value>
</setting>
</WebApplication3.Properties.Settings>
</applicationSettings>
As for JSON, it is a lightweight data-interchange format, and completely language independent. It is a collection of name/value pairs and an ordered list of values, we usually use Jquery to call JSON web service and REST Service, and set its contentType to "application/json; charset=utf-8" and dataType to "json".
2.Usually ASMX Web Service (.asmx file) can be added to consumer project using add web referecne, we'd better add the url of web service which end with .asmx, something like this. http://localhost:8776/WebService2.asmx
3.There are several ways that you can call .net web service from non-net technology, you can send request soap message to web service, for more about this, check this article. and also some development tool provides option that you can add wsdl reference as VS tool only you specify the WSDL URL, for this, check this article.
4.If you can browser the web service in IE browser, then you can add '?wsdl' at the end of web service url, then in VS tool, you can add web reference to that wsdl url, and then you can consume that web service, please check this article.
5.As for Generic Handler (.ashx), it mainly used in the following scenarios
(1)Apply security mechanism,
(2)URL rewriting,
(3)Filter something in the request that is send to IIS.
and it depends on your requirement that you want to choose web service or .ashx.