Da qualche giorno sto lavorando con LightSwitch (ed il buon Alessandro sa quanto apprezzo il prodotto!!!) e la logica con cui si approccia alla soluzione di un problema, anche banale, di programmazione è piuttosto differente da chi proviene dalle applicazioni desktop classico.
Ricordatevi sempre che stiamo parlando di Silverlight, quindi, già per questo, non date per scontato che possiate fare quello che volete, in più sotto LightSwitch.
Per questo motivo, ogni volta che mi scontrerò con un problema da “desktoppiano” classico e riuscirò a venirne a capo, cercherò di postarlo qui. Probabilmente la soluzione sarà banale e puerile, ma magari potrà servire ad altri!!
Detto questo, supponendo di voler aprire un file Xml e creare un oggetto XDocument utilizzando il metodo statico Load(String), normalmente scriveremmo
- Dim xmlTemplate As XDocument
- xmlTemplate = XDocument.Load(fullFileName)
dove fullFileName è il nome completo (con tanto di path) del file xml da aprire.
Questo funziona benissimo nelle nostre applicazioni desktop classiche ma non in LightSwitch che ci restituirà l’errore:
Per risolvere il problema è sufficiente utilizzare il metodo Load(Stream, LoadOptions):
- Dim xmlTemplate As XDocument
- Using fileStream = New FileStream(fileFullName, FileMode.Open)
- xmlTemplate = XDocument.Load(fileStream)
- End Using
In questo modo non otteniamo l’errore precedente e riusciamo a creare il nostro XDocument (a patto, ovviamente che il file sia ben formato).
Commenti