Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Lanciare un file da applicazione intranet
martedì 19 giugno 2007 - 15.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Khaloisha
Profilo
| Newbie
3
messaggi | Data Invio:
mar 19 giu 2007 - 15:47
Ciao a tutti, primo messaggio qua.
Il mio problema è questo (preciso che è una settimana che provo a trovare risposta... ma niente da fare
):
Ho una DataGrid in cui in una colonna ho delle etichette cliccabili. Al cliccare della suddetta etichetta, intercetto l'evento, recupero il percorso di un file da DB e dovrei aprire il suddetto con il programma associato (short-version: devo aprire un file .doc)
Ora, ho provato due sistemi:
1) Process.Start(NomeFile) = da task manager, nell'elenco dei processi, vedo che WINWORD.EXE è presente (eseguito dall'utente ASPNET), ma di farmi vedere Word vero e proprio con il documento caricato non se ne parla
2) Ho provato ad implementare la stessa cosa utlizzando l'API ShellExecute... manco a dirlo, mi ritrovo nella stessa situazione del punto uno.
La cosa strana è che non mi dà messaggi di errore nè nient'altro... sta lì a provare a far qualcosa di cui io non so.
Sapreste gentilmente spiegarmi per filo e per segno COME lancio un file da code-behind?
Grazie per l'attenzione, ciao!
EDIT: se può servire, specifico che i file .doc stanno su un file server, e che il percorso degli stessi è assoluto (\\blabla\file.doc)
adima80
Profilo
| Junior Member
158
messaggi | Data Invio:
mar 19 giu 2007 - 16:00
Ciao,
abitualmente non uso ASP.NET comunque credo che per quello che devi fare, anche se ti trovi in una intranet, devi fare scaricare il file word al client, ci pensarà poi lui ad eseguire word e a visualizzare il file. Facendo così fai eseguire al processo dell'interprete ASP word con nessun risultato visibile.
Spero di non aver detto troppe castronerie
, ciao!
Khaloisha
Profilo
| Newbie
3
messaggi | Data Invio:
mar 19 giu 2007 - 16:25
Ciao e grazie per la risposta!
Stavo proprio provando a copiare il file in locale e poi ad utilizzare subito dopo Process.Start(NomeFileLocale)... ti faccio sapere se funziona. :)
Grazie ancora!
EDIT: niente da fare, anche così rimane tra i processi in background e stop... sigh.
Informandomi un po' ho scoperto che una delle limitazioni di ASP.NET 1.0/1.1 è che i processi vengono comunque lanciati dall'utente ASPNET (che non ha praticamente permessi su nulla). Una delle alternative è settare il servizio "Amministrazione di IIS", sotto "Connessione", checkare la spunta "Consenti al servizio di interagire col desktop". Purtroppo per me non è una soluzione applicabile, in quanto il cliente è estremamente menoso riguardo i permessi, ed inoltre fa già girare diversi web sull'unico IIS d'azienda... a questo punto spero che qualcuno mi tiri fuori un miracolo.
adima80
Profilo
| Junior Member
158
messaggi | Data Invio:
mer 20 giu 2007 - 09:26
>Stavo proprio provando a copiare il file in locale e poi ad utilizzare
>subito dopo Process.Start(NomeFileLocale)... ti faccio sapere
>se funziona. :)
Non devi usare Process.Start, così lo esegue il processo ASPNET del server, tu da internet explorer fai partire normalmente un link del tipo "hreff=...." e poi se il client fa click su esegui al posto di download il file viene lanciato. Ricordati che qualsiasi riga di codice scritta su code behind viene eseguita lato server, è la tecnologia delle pagine dinamiche lato server a funzionare così; se vuoi provare a far eseguire qualcosa dal client ti conviene provare con qualche script di JAVASCRIPT, ma non credo sia permesso far partire applicazioni dal browser via javascript!
Ciao
Khaloisha
Profilo
| Newbie
3
messaggi | Data Invio:
mer 20 giu 2007 - 21:21
Ciao, grazie per la risposta :)
In realtà ho risolto in accordo col cliente di modificare le proprietà userName e password del <processModel> di machine.config, in questo modo process.Start viene eseguito con i permessi concordati (che in questo caso sono tre dir di un file server).
Thanks again!
meronet
Profilo
| Newbie
23
messaggi | Data Invio:
mer 11 lug 2007 - 16:30
ciao a tutti
io vorrei far lanciare un aplicazione client in dotnet fatta a me
al click di un pulsante che e su pagina in aspnet
ho letto la discussione e mi pare di aver capito che non e fattibile
neanche se creo un active x !!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !