Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
il mio obiettivo è quello di lanciare un processo (nel caso specifico un .cmd o .bat) da una pagina web pubblica direttamente sul server che la ospita. In fase di sviluppo mi è sembrato tutto semplice, infatti lanciato il comando:
ProcID = Shell("c:\test.cmd", AppWinStyle.NormalFocus)
(oppure usando la classe System.Diagnostics.Process)
riesco ad avere sul mio pc di sviluppo il risultato aspettato.
Spostando l'applicazione su Windows server 2008 purtroppo non riesco a capire il perchè non funzioni.
In pratica il processo viene lanciato correttamente (lo verifico con il valore di ritorno)
ma video e a log non riesco a vedere il risultato sperato.
La prima cosa a cui ho pensato è ovviamente l'utenza predefinita aspnet dell'application server. Infatti ho settato l'application pool di default per l'esecuzione locale tramite utenza amministrativa. Ma niente, è come se il processo venisse eseguito su un altra sessione.
Il risultato che mi aspetto è riuscire ad agire sulla stessa sessione a cui sono connesso da desktop remoto come amministratore, come se lanciassi a "mano" il file.
Che differenza c'è tra il server di sviluppo e quello di produzione che sto usando nel mio caso specifico?
Spero di avere esposto con chiarezza il mio problema.
Grazie mille in anticipo,
Luigi
secondo me è proprio il concetto di lanciare un bat che va rivisto...
a parte dare i permessi all'utente aspnet non so cosa dirti, ma ti assicuro che lo stai facendo in modo sbagliato
si ma la questione è una altra in questo caso, siccome in sviluppo funziona. A livello windows server cos'è che va settato
per far comportare il server di produzione
come quello di sviluppo??
ho detto che vanno settati i permessi dell'utente? - HeDo - 15/11/10 14:51
Postato originariamente da HeDo: secondo me è proprio il concetto di lanciare un bat che va rivisto...
potresti essere più chiaro per cortesia? Grazie
in sostanza stai usando la tecnologia sbagliata...
lanciare un Bat da un ambiente web è come cercare di aprire la porta della camera da letto con un telecomando fuori di casa...
per quanto riguarda i due ambienti è possibile che usino security policy diverse...
se vuoi poter gestire un processo remoto ti consiglio di sviluppare un servizio...sicuramente avrai un feedback e un controllo maggiore su quello che realmente sta accadendo sulla macchina remota...