Ho speso qualche ora di lavoro per individuare un problema un po subdolo.

In una chiamata ad un WebService un parametro stringa contiene il carattere ‘\’, tutto bene se il client SilverLight proviene dallo stesso dominio del web service.

Il problema nasce quando si è in uno scenario cross domain in cui il carattere ‘\’ porta all’odiosa eccezione:

InnerException = {System.Exception ---> System.Exception: Exception from HRESULT: 0x80000012
   at System.Net.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object send…

La soluzione è semplice, usare

HttpUtility.UrlEncode(theUrlWithWrongChar));
una buona abitudine da seguire sempre!
 
Technorati Tags: