ciao Max, ho dato un'occhiata alla tua segnalazione, davvero molto interessante come cosa ma mi da qualche problema non riesco a farla funzionare, ricevo sempre il messaggio
---------------------------------------------------------------------------------------
XMLHttpRequest cannot load http://www.miodominio.it/mioWebService.asmx/HelloWorld. Origin null is not allowed by Access-Control-Allow-Origin.
---------------------------------------------------------------------------------------


questa è la chiamata ajax, ho notato che c'era la proprietà crossDomain l'ho settata a true ma nulla niente da fare.

$.ajax({
type: "POST",
async: false,
url: sUrl,
contentType: "application/json; charset=utf-8",
dataType: "json",
crossDomain: true,
data: "{}",
success: function(data) {

$("#Prova").html("ok");

},
error: function(XMLHttpRequest, status, error) {
$("#Prova").html("ko");

}
});

settandogli invece il type a GET e il dataType a jsonp riesco a superare quel problema. solo che mi va in errore dopo con questo messaggio
---------------------------------------------------------------------------------------
Resource interpreted as Script but transferred with MIME type text/xml: "http://www.miodominio.it/cgi-bin/mioWebService.asmx/HelloWorld?callback=jQuery16406584412627853453_135 2050079149&{}&_=1352050083837".
send
f.extend.ajax
requestToWS
(anonymous function)
f.event.handle
i.handle.k jquery

Uncaught SyntaxError: Unexpected token <
---------------------------------------------------------------------------------------
dalla console di chrome ho visto che la stringa json mi ritorna innestata in un file xml, riporto in seguito

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://miodominio.it/">{"name":"Marco","age":33,"city":"Milano"}</string>

non riesco a capire come risolvere. di seguito riporto il codice del web service modificato
--------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;

[WebService(Namespace = "http://miodominio.it/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Per consentire la chiamata di questo servizio Web dallo script utilizzando ASP.NET AJAX, rimuovere il commento dalla riga seguente.
[System.Web.Script.Services.ScriptService]
public class mioWebService : System.Web.Services.WebService
{
public mioWebService()
{
//
// TODO: Aggiungere eventuale codice del costruttore necessario
//
}

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
public string HelloWorld()
{
var json = new JavaScriptSerializer().Serialize(new
{
name = "Marco",
age = 33,
city = "Milano"
});
//HttpContext.Current.Response.ContentType = "application/json; charset=utf-8";
//HttpContext.Current.Request.ContentType = "application/json; charset=utf-8";

HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");
HttpContext.Current.Response.AppendHeader("Content-Type", "application/json");
HttpContext.Current.Response.AppendHeader("Accept" , "application/json");
HttpContext.Current.Response.ContentType = "application/json";

return json;

}
}
----------------------------------------------------------------------------------

come potete notare dal web service ho provato delle forzature XMLSerializeString a false svuotare l'Headers e ripopolarlo con nuovi valori da me impostati. ma dalla console di chrome vedo sempre che il content-type della response è sempre settato a text/xml. e di conseguenza mi salta fuori il messaggio del MIME e del token inaspettato.
qualcuno di voi sa aiutarmi?
la cosa brutta è che in giro su internet sembrano tutte cose banali e poi non capisco perchè non funzionano...sarò tardo mi sa...

grazie mille