64 messaggi dal 08 settembre 2006
Ciao,
ho letto questo articolo di Novecento

http://www.silverlightitalia.com/script/83/Controllo-Upload-Multiplo-File-Silverlight-4.0.aspx

e devo inserire questa funzionalità all'interno di un sito che stò facendo (sono alle prime armi con il silverlight).

Ho provato ad inserire parte del codice nel mio progetto ma quando viene lanciato il comando dialog.showdialog viene generato l'errore :

'le finestre di dialogo devono essere avviate dall'utente'

stessa cosa anche lanciando direttamente il progetto scaricato dalla pagina.

E' dovuto al fatto che il plugin non può accedere al file system? e se sì come si risolve?

Grazie
bryger ha scritto:
Ciao,
ho letto questo articolo di Novecento

http://www.silverlightitalia.com/script/83/Controllo-Upload-Multiplo-File-Silverlight-4.0.aspx

e devo inserire questa funzionalità all'interno di un sito che stò facendo (sono alle prime armi con il silverlight).

Ho provato ad inserire parte del codice nel mio progetto ma quando viene lanciato il comando dialog.showdialog viene generato l'errore :

'le finestre di dialogo devono essere avviate dall'utente'

stessa cosa anche lanciando direttamente il progetto scaricato dalla pagina.

E' dovuto al fatto che il plugin non può accedere al file system? e se sì come si risolve?

Grazie

Ciao, due domande:
- hai installato Silverlight 5?
- stai eseguendo il codice da Visual Studio, e hai un punto di interruzione in "prossimità" del codice che lancia l'errore?

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
64 messaggi dal 08 settembre 2006
Allora, un po' di aggiornamenti.

Intanto ho la versione di SL 4.0 con VS 2010.
Dopo varie prove ho trovato un altro progetto, questo :

http://www.c-sharpcorner.com/uploadfile/nipuntomar/file-upload-in-silverlight/

che, lanciato così com'è ha funzionato, ovvero la showdialog non ha provocato l'errore indicato; indagando meglio ho scoperto che la pagina contenente il codice per l'upload (almeno quello lato client) in realtà è un oggetto silverlight di tipo usercontrol e non page come usavo io; creando allora nel mio progetto un oggetto usercontrol ed inserendo il codice per la opendialog l'errore non si è più verificato....

ho dedotto quindi che il problema non risiede nelle opzioni di sicurezza ma nel tipo di oggetto che si usa? in realtà leggendo nei vari forum sembrava proprio un problema di sicurezza ma....

insomma mi sto un po' perdendo, puoi chiarimi questi aspetti?

grazie di nuovo
64 messaggi dal 08 settembre 2006
Controordine!

Se metto un breakpoint su un'istruzione prima della oopen dialog mi da l'errore anche sul mio progetto, se non lo metto funziona!!!!!
bryger ha scritto:
Controordine!

Se metto un breakpoint su un'istruzione prima della oopen dialog mi da l'errore anche sul mio progetto, se non lo metto funziona!!!!!

:)
Ehehe, il punto di interruzione "inganna" il codice interno della funzione come se non fosse eseguto direttamente dall'utente ma da una procedura, cosa che OpenFileDialog non permette per ragioni di sicurezza, mi era capitato anche a me.

Vedo che internamente, alla fine del "giro del fumo" viene usata la libreria agcore:

[SecurityCritical, DllImport("agcore", EntryPoint="UI_GetOpenFileName", CallingConvention=CallingConvention.StdCall)]
private static extern int UI_GetOpenFileNameNative(IntPtr pRuntimeHost, ref NativeMethods.OpenFileNameInfo pDialogInfo, out DialogResult pnDialogResult);

Visto che adesso possiamo usare COM in modo "intenso", potrebbe essere interessante capire quali opportunità ci può offrire agcore.dll .. .. :P

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
64 messaggi dal 08 settembre 2006
Ma allora il discorso della sicurezza che non fa accedere alle risorse del file system? avevo capito che è ancora valido per la versione 4 mentre dalla 5 in poi è stato eliminato....

Altra cosa, sempre facendo le prove che ti dicevo pensavo che, facendo partire il sito non da una pagina silverlight direttamente ma da una pagina asp potessi risolvere, detto fatto ho trovato un altro esempio in questo senso, la pagina asp contiene un oggetto asp:silverlight che, all'esecuzione deve ospitare il corrispondente file .XAP compilato nella clientbin;

l'oggetto asp in questione però non viene riconosciuto infatti nelle referenze il riferimento a system.web.silverlight è mancante, deduco che manca qualche pacchetto da installare? e quale? ho installato il plugin, l'sdk e il toolkit.....

Questo tipo di approccio in quali casi può essere utile?
grazie
bryger ha scritto:
Ma allora il discorso della sicurezza che non fa accedere alle risorse del file system? avevo capito che è ancora valido per la versione 4 mentre dalla 5 in poi è stato eliminato....

C'è ancora, si può accedere al file system solo in full-trust.
Altra cosa, sempre facendo le prove che ti dicevo pensavo che, facendo partire il sito non da una pagina silverlight direttamente ma da una pagina asp potessi risolvere, detto fatto ho trovato un altro esempio in questo senso, la pagina asp contiene un oggetto asp:silverlight che, all'esecuzione deve ospitare il corrispondente file .XAP compilato nella clientbin;

l'oggetto asp in questione però non viene riconosciuto infatti nelle referenze il riferimento a system.web.silverlight è mancante, deduco che manca qualche pacchetto da installare? e quale? ho installato il plugin, l'sdk e il toolkit.....

Questo tipo di approccio in quali casi può essere utile?
grazie

Il controllo Silverlight di ASP.NET non è più supportato da qualche anno e non dava reali vantaggi. Il mio consiglio è di non utilizzarlo e inserire un oggetto Silverlight con il semplice HTML.

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC