Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012

    [.Net]lanciare file remoto

    buonasera a tutti pongo questa domanda a voi perchè il mio collega non c'è e non saprei come proseguire con il mio lavoro...

    ho una applicazione su client che legge un db SQL, genera dei tracciati con dati e fa l' upload ftp di questi file di testo su una cartella remota.

    successivamente vorrei che, finito l' upload dei file txt, lui stesso lanci l' esecuzione di uno script .php che parsi questi file: quindi solo lanciarlo...

    è possibile in .Net l' ultima operazione citata?

    se si, è possibile anche catturarne l'output giusto per avere una Log dei processi??

    io sono un programmatore php e non ne so niente di tutto ciò purtroppo, quindi magari se riuscissi ad avere un esempio di codice sarebbe veramente il top!!

    grazie a tutti per le risposte.

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    un limite del .Net ??
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Ma questo script PHP è uno script autonomo o è incorporato in una pagina web? :master:
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è uno script autonomo,esegue esclusivamente operazioni su Mysql e non ha bisogno di variabili.

    allo stato attuale, non da output, ma se mi dite che è possibile con il .Net anche carpirne l'output allora potrei pensare anche ad un file di Log

    es.:

    .Net lo lancia

    lo script esegue tutti i suoi processi

    restituisce o 1 o 0 o la stringa errore

    .Net genera un file remoto sul server dove logga il risultato


    l' output ripeto non è necessario, ma poterlo lanciare si .. assolutamente.

    grazie
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Lo script PHP deve essere lanciato sulla stessa macchina su cui viene eseguita l'applicazione .NET? In tal caso basta un semplice Process.Start("percorsoenomeinterprete.exe","perco rsoenomescript.php").
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Lo script PHP deve essere lanciato sulla stessa macchina su cui viene eseguita l'applicazione .NET? In tal caso basta un semplice Process.Start("percorsoenomeinterprete.exe","perco rsoenomescript.php").
    a quanto ho capito non si tratta della stessa macchina. Secondo me è il caso di un'applicazione Client/Server, la client "chiama" la server e gli dice di avviare lo script PHP, e la server utilizza il Process.Start...Solo così puoi avere anche la possiblità(in futuro) di leggere l'output dello script. Sarà la server che legge l'output ed invia al client il suo contenuto...
    Tutto ciò IMHO.

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    no da un client remoto....

    supponiamo la situazione in cui io ho un gestionale nel pc del negozio, esporto il db del gestionale e lo carico via ftp tramite applicazione locale sul server web.

    la stessa applicazione, una volta caricati i txt, lancia lo script php, un pò come accendere un interruttore.

    il server é Debian, il client è Win.

    penso che dovrà essere una richiesta di tipo soket o qualcosa del genere no?

    purtroppo IMHO non sò cosa sia, ma se fosse un gestore client/server, è un gestore di concetto(quindi un insieme di istruzioni) oppure una suite/tool di interfacciamento remoto?

    spero di essere stato un pò piu chiaro

    grazie per il supporto
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    supponiamo la situazione in cui io ho un gestionale nel pc del negozio, esporto il db del gestionale e lo carico via ftp tramite applicazione locale sul server web.
    e fin qui non dovrebbero esserci problemi...
    la stessa applicazione, una volta caricati i txt, lancia lo script php, un pò come accendere un interruttore.
    è qui il problema, come fai a dire di eseguire uno script su una macchina che non sia il client stesso? penso ci sarebbero problemi di sicurezza se fosse possibile eseguire un qualsiasi codice su un'altra macchina con un semplice Process.Start...
    potresti magari richiamare lo script php tramite browser, cioè fare una cosa del tipo:
    Process.Start("www.NomeSito.it\Script.php")
    In questo modo, penso sia facile da capire, viene aperto il browser e viene richiamata la pagina script.php(con o senza interfaccia grafica, poco importa) che si trova sul server che ospita il sito.
    Ovviamente tutto questo vale se esiste un sito o magari un indirizzo Ip(statico) a cui collegarsi...
    IMHO significa:
    In My Honest Opinion(a mio modesto parere), scusami se ti ho fatto intendere dell'altro.

  9. #9
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da mardok30
    è qui il problema, come fai a dire di eseguire uno script su una macchina che non sia il client stesso? penso ci sarebbero problemi di sicurezza se fosse possibile eseguire un qualsiasi codice su un'altra macchina con un semplice Process.Start...
    pienamente d'accordo, la sicurezza in primis
    potresti magari richiamare lo script php tramite browser, cioè fare una cosa del tipo:
    Process.Start("www.NomeSito.it\Script.php")
    In questo modo, penso sia facile da capire, viene aperto il browser e viene richiamata la pagina script.php(con o senza interfaccia grafica, poco importa) che si trova sul server che ospita il sito.
    questa è una soluzione che mi piace! infatti il mio è solo un problema di 'lancio' dello script, nessuna interazione! certo ci sarà sicuramente una finestra che si apre e magari darà un output o meno, ma comunque la mia rampa di lancio ce l'ho! solo una cosa.. è possibile evitare l' apertura del browser, tipo lanciare la chiamata

    Codice PHP:
    Process.Start("www.NomeSito.it\Script.php"
    in background? in modo da non infastidire l' utente nel caso in cui il processo di schedulazione vada ad interferire con la quotidianeità dell' utente? non vorrei che vedendo una finestra di Explorer/Firefox aprirsi da sola andassero a pensare ad un virus e prendessero provvedimenti personali la mamma degli utonti è sempre in cinta
    volendo potrei anche eseguire un jscript che va a chiudere in automatico la finestra ma questo da problemi con Exlorer (e solo Explorer) in quanto ne blocca l' esecuzione e avverte l' utente chiedendo conferma...

    Ovviamente tutto questo vale se esiste un sito o magari un indirizzo Ip(statico) a cui collegarsi...
    ce l'ho

    IMHO significa:
    In My Honest Opinion(a mio modesto parere), scusami se ti ho fatto intendere dell'altro.
    se ne vedono tante di sigle in giro che no si sa piu cosa pensare.. la settimana scorsa ho scoperto che OMG in slang stava per Oh My God, e non organismi geneticamente modificati
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  10. #10
    Be', la soluzione ideale allora potrebbe essere questa: sul server installi Apache o il webserver che preferisci e fai in modo che ci sia una pagina php che contiene il tuo script e che scrive nell'output il log; l'applicazione .NET quindi tramite un WebClient si collega al server, effettua la richiesta ed ottiene il responso: in questo modo lo script viene eseguito e il client ottiene il log. Volendo potresti addirittura gestire l'upload del file come upload HTTP (metodo POST), in modo che la pagina PHP si occupi anche di memorizzare il file.
    Un semplice esempio con il webclient (in C#):
    codice:
    using System.Net;
    using System.Text;
    //...
    WebClient wc = new WebClient();
    string log = Encoding.ASCII.GetString(wc.DownloadData(New Uri("http://tuoserver/tuapagina.php")))
    //ora il log è nella variabile stringa log
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.